[{"data":1,"prerenderedAt":3319},["ShallowReactive",2],{"navigation_docs":3,"-docs-studios-sites-theme-modules-and-plugins":2047},[4,75,166,221,431,1771],{"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],{"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},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides\u002Findex",[80,81,111,117,123,129,136],{"title":76,"path":77,"stem":78},{"title":82,"path":83,"stem":84,"children":85},"Build a revenexx App","\u002Fdocs\u002Fguides\u002Fapps","docs\u002Fguides\u002Fapps\u002Findex",[86,87,93,99,105],{"title":82,"path":83,"stem":84},{"title":88,"path":89,"stem":90,"children":91},"Add a data model","\u002Fdocs\u002Fguides\u002Fapps\u002Fadd-a-data-model","docs\u002Fguides\u002Fapps\u002Fadd-a-data-model\u002Findex",[92],{"title":88,"path":89,"stem":90},{"title":94,"path":95,"stem":96,"children":97},"Build your first app","\u002Fdocs\u002Fguides\u002Fapps\u002Fbuild-your-first-app","docs\u002Fguides\u002Fapps\u002Fbuild-your-first-app\u002Findex",[98],{"title":94,"path":95,"stem":96},{"title":100,"path":101,"stem":102,"children":103},"Deploy with the CLI","\u002Fdocs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli","docs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli\u002Findex",[104],{"title":100,"path":101,"stem":102},{"title":106,"path":107,"stem":108,"children":109},"Operate an App in production","\u002Fdocs\u002Fguides\u002Fapps\u002Foperate-in-production","docs\u002Fguides\u002Fapps\u002Foperate-in-production\u002Findex",[110],{"title":106,"path":107,"stem":108},{"title":112,"path":113,"stem":114,"children":115},"Configure pricing rules","\u002Fdocs\u002Fguides\u002Fconfigure-pricing-rules","docs\u002Fguides\u002Fconfigure-pricing-rules\u002Findex",[116],{"title":112,"path":113,"stem":114},{"title":118,"path":119,"stem":120,"children":121},"Examples","\u002Fdocs\u002Fguides\u002Fexamples","docs\u002Fguides\u002Fexamples\u002Findex",[122],{"title":118,"path":119,"stem":120},{"title":124,"path":125,"stem":126,"children":127},"Import a BMECAT product catalog","\u002Fdocs\u002Fguides\u002Fimport-a-bmecat-catalog","docs\u002Fguides\u002Fimport-a-bmecat-catalog\u002Findex",[128],{"title":124,"path":125,"stem":126},{"title":130,"path":131,"stem":132,"children":133,"icon":135},"Operate & go live","\u002Fdocs\u002Fguides\u002Foperate","docs\u002Fguides\u002Foperate\u002Findex",[134],{"title":130,"path":131,"stem":132,"icon":135},"i-lucide-activity",{"title":137,"path":138,"stem":139,"children":140},"Build a storefront Theme","\u002Fdocs\u002Fguides\u002Fthemes","docs\u002Fguides\u002Fthemes\u002Findex",[141,142,148,154,160],{"title":137,"path":138,"stem":139},{"title":143,"path":144,"stem":145,"children":146},"Build your first Theme","\u002Fdocs\u002Fguides\u002Fthemes\u002Fbuild-your-first-theme","docs\u002Fguides\u002Fthemes\u002Fbuild-your-first-theme\u002Findex",[147],{"title":143,"path":144,"stem":145},{"title":149,"path":150,"stem":151,"children":152},"Customize blocks","\u002Fdocs\u002Fguides\u002Fthemes\u002Fcustomize-blocks","docs\u002Fguides\u002Fthemes\u002Fcustomize-blocks\u002Findex",[153],{"title":149,"path":150,"stem":151},{"title":155,"path":156,"stem":157,"children":158},"Deploy your storefront","\u002Fdocs\u002Fguides\u002Fthemes\u002Fdeploy-your-storefront","docs\u002Fguides\u002Fthemes\u002Fdeploy-your-storefront\u002Findex",[159],{"title":155,"path":156,"stem":157},{"title":161,"path":162,"stem":163,"children":164},"Theme tokens and styling","\u002Fdocs\u002Fguides\u002Fthemes\u002Ftheme-tokens-and-styling","docs\u002Fguides\u002Fthemes\u002Ftheme-tokens-and-styling\u002Findex",[165],{"title":161,"path":162,"stem":163},{"title":167,"path":168,"stem":169,"children":170},"SDKs","\u002Fdocs\u002Fsdks","docs\u002Fsdks\u002Findex",[171,172,178,184,190,196,202,208,215],{"title":167,"path":168,"stem":169},{"title":173,"path":174,"stem":175,"children":176},"App SDK","\u002Fdocs\u002Fsdks\u002Fapp-sdk","docs\u002Fsdks\u002Fapp-sdk\u002Findex",[177],{"title":173,"path":174,"stem":175},{"title":179,"path":180,"stem":181,"children":182},"CLI","\u002Fdocs\u002Fsdks\u002Fcli","docs\u002Fsdks\u002Fcli\u002Findex",[183],{"title":179,"path":180,"stem":181},{"title":185,"path":186,"stem":187,"children":188},"Design systems","\u002Fdocs\u002Fsdks\u002Fdesign-systems","docs\u002Fsdks\u002Fdesign-systems\u002Findex",[189],{"title":185,"path":186,"stem":187},{"title":191,"path":192,"stem":193,"children":194},"Integration Node SDK","\u002Fdocs\u002Fsdks\u002Fintegration-nodes","docs\u002Fsdks\u002Fintegration-nodes\u002Findex",[195],{"title":191,"path":192,"stem":193},{"title":197,"path":198,"stem":199,"children":200},"Node SDK","\u002Fdocs\u002Fsdks\u002Fnode","docs\u002Fsdks\u002Fnode\u002Findex",[201],{"title":197,"path":198,"stem":199},{"title":203,"path":204,"stem":205,"children":206},"PHP SDK","\u002Fdocs\u002Fsdks\u002Fphp","docs\u002Fsdks\u002Fphp\u002Findex",[207],{"title":203,"path":204,"stem":205},{"title":209,"path":210,"stem":211,"children":212,"icon":214},"Versioning","\u002Fdocs\u002Fsdks\u002Fversioning","docs\u002Fsdks\u002Fversioning\u002Findex",[213],{"title":209,"path":210,"stem":211,"icon":214},"i-lucide-git-branch",{"title":216,"path":217,"stem":218,"children":219},"Web \u002F JavaScript SDK","\u002Fdocs\u002Fsdks\u002Fweb","docs\u002Fsdks\u002Fweb\u002Findex",[220],{"title":216,"path":217,"stem":218},{"title":222,"path":223,"stem":224,"children":225},"Services","\u002Fdocs\u002Fservices","docs\u002Fservices\u002Findex",[226,227,263,293,311,365,413],{"title":222,"path":223,"stem":224},{"title":228,"path":229,"stem":230,"children":231},"API usage","\u002Fdocs\u002Fservices\u002Fapi-usage","docs\u002Fservices\u002Fapi-usage\u002Findex",[232,233,239,245,251,257],{"title":228,"path":229,"stem":230},{"title":234,"path":235,"stem":236,"children":237},"Errors","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Ferrors","docs\u002Fservices\u002Fapi-usage\u002Ferrors\u002Findex",[238],{"title":234,"path":235,"stem":236},{"title":240,"path":241,"stem":242,"children":243},"Retries & idempotency","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fidempotency","docs\u002Fservices\u002Fapi-usage\u002Fidempotency\u002Findex",[244],{"title":240,"path":241,"stem":242},{"title":246,"path":247,"stem":248,"children":249},"Pagination & filtering","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fpagination","docs\u002Fservices\u002Fapi-usage\u002Fpagination\u002Findex",[250],{"title":246,"path":247,"stem":248},{"title":252,"path":253,"stem":254,"children":255},"Rate limits","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Frate-limits","docs\u002Fservices\u002Fapi-usage\u002Frate-limits\u002Findex",[256],{"title":252,"path":253,"stem":254},{"title":258,"path":259,"stem":260,"children":261},"Versioning & stability","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fversioning","docs\u002Fservices\u002Fapi-usage\u002Fversioning\u002Findex",[262],{"title":258,"path":259,"stem":260},{"title":264,"path":265,"stem":266,"children":267},"Authentication","\u002Fdocs\u002Fservices\u002Fauth","docs\u002Fservices\u002Fauth\u002Findex",[268,269,275,281,287],{"title":264,"path":265,"stem":266},{"title":270,"path":271,"stem":272,"children":273},"API keys","\u002Fdocs\u002Fservices\u002Fauth\u002Fapi-keys","docs\u002Fservices\u002Fauth\u002Fapi-keys\u002Findex",[274],{"title":270,"path":271,"stem":272},{"title":276,"path":277,"stem":278,"children":279},"Multi-factor authentication","\u002Fdocs\u002Fservices\u002Fauth\u002Fmfa","docs\u002Fservices\u002Fauth\u002Fmfa\u002Findex",[280],{"title":276,"path":277,"stem":278},{"title":282,"path":283,"stem":284,"children":285},"Social sign-in","\u002Fdocs\u002Fservices\u002Fauth\u002Foauth2","docs\u002Fservices\u002Fauth\u002Foauth2\u002Findex",[286],{"title":282,"path":283,"stem":284},{"title":288,"path":289,"stem":290,"children":291},"Sessions","\u002Fdocs\u002Fservices\u002Fauth\u002Fsessions","docs\u002Fservices\u002Fauth\u002Fsessions\u002Findex",[292],{"title":288,"path":289,"stem":290},{"title":294,"path":295,"stem":296,"children":297},"Events","\u002Fdocs\u002Fservices\u002Fevents","docs\u002Fservices\u002Fevents\u002Findex",[298,299,305],{"title":294,"path":295,"stem":296},{"title":300,"path":301,"stem":302,"children":303},"Consuming events","\u002Fdocs\u002Fservices\u002Fevents\u002Fconsuming-events","docs\u002Fservices\u002Fevents\u002Fconsuming-events\u002Findex",[304],{"title":300,"path":301,"stem":302},{"title":306,"path":307,"stem":308,"children":309},"Event types","\u002Fdocs\u002Fservices\u002Fevents\u002Fevent-types","docs\u002Fservices\u002Fevents\u002Fevent-types\u002Findex",[310],{"title":306,"path":307,"stem":308},{"title":312,"path":313,"stem":314,"children":315},"Network","\u002Fdocs\u002Fservices\u002Fnetwork","docs\u002Fservices\u002Fnetwork\u002Findex",[316,317,323,329,335,341,347,353,359],{"title":312,"path":313,"stem":314},{"title":318,"path":319,"stem":320,"children":321},"Caching","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcaching","docs\u002Fservices\u002Fnetwork\u002Fcaching\u002Findex",[322],{"title":318,"path":319,"stem":320},{"title":324,"path":325,"stem":326,"children":327},"Content delivery (CDN)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcdn","docs\u002Fservices\u002Fnetwork\u002Fcdn\u002Findex",[328],{"title":324,"path":325,"stem":326},{"title":330,"path":331,"stem":332,"children":333},"Compression","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcompression","docs\u002Fservices\u002Fnetwork\u002Fcompression\u002Findex",[334],{"title":330,"path":331,"stem":332},{"title":336,"path":337,"stem":338,"children":339},"DDoS mitigation","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fddos","docs\u002Fservices\u002Fnetwork\u002Fddos\u002Findex",[340],{"title":336,"path":337,"stem":338},{"title":342,"path":343,"stem":344,"children":345},"Edge network","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fedges","docs\u002Fservices\u002Fnetwork\u002Fedges\u002Findex",[346],{"title":342,"path":343,"stem":344},{"title":348,"path":349,"stem":350,"children":351},"Endpoints","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fendpoints","docs\u002Fservices\u002Fnetwork\u002Fendpoints\u002Findex",[352],{"title":348,"path":349,"stem":350},{"title":354,"path":355,"stem":356,"children":357},"Transport Layer Security (TLS)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Ftls","docs\u002Fservices\u002Fnetwork\u002Ftls\u002Findex",[358],{"title":354,"path":355,"stem":356},{"title":360,"path":361,"stem":362,"children":363},"Web application firewall (WAF)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fwaf","docs\u002Fservices\u002Fnetwork\u002Fwaf\u002Findex",[364],{"title":360,"path":361,"stem":362},{"title":366,"path":367,"stem":368,"children":369},"Storage","\u002Fdocs\u002Fservices\u002Fstorage","docs\u002Fservices\u002Fstorage\u002Findex",[370,371,377,383,389,395,401,407],{"title":366,"path":367,"stem":368},{"title":372,"path":373,"stem":374,"children":375},"Folders","\u002Fdocs\u002Fservices\u002Fstorage\u002Fbuckets","docs\u002Fservices\u002Fstorage\u002Fbuckets\u002Findex",[376],{"title":372,"path":373,"stem":374},{"title":378,"path":379,"stem":380,"children":381},"Signed URLs and access","\u002Fdocs\u002Fservices\u002Fstorage\u002Ffile-tokens","docs\u002Fservices\u002Fstorage\u002Ffile-tokens\u002Findex",[382],{"title":378,"path":379,"stem":380},{"title":384,"path":385,"stem":386,"children":387},"Serve and transform images","\u002Fdocs\u002Fservices\u002Fstorage\u002Fimages","docs\u002Fservices\u002Fstorage\u002Fimages\u002Findex",[388],{"title":384,"path":385,"stem":386},{"title":390,"path":391,"stem":392,"children":393},"3D assets","\u002Fdocs\u002Fservices\u002Fstorage\u002Fmodel-viewer","docs\u002Fservices\u002Fstorage\u002Fmodel-viewer\u002Findex",[394],{"title":390,"path":391,"stem":392},{"title":396,"path":397,"stem":398,"children":399},"Access control and visibility","\u002Fdocs\u002Fservices\u002Fstorage\u002Fpermissions","docs\u002Fservices\u002Fstorage\u002Fpermissions\u002Findex",[400],{"title":396,"path":397,"stem":398},{"title":402,"path":403,"stem":404,"children":405},"Quick start","\u002Fdocs\u002Fservices\u002Fstorage\u002Fquick-start","docs\u002Fservices\u002Fstorage\u002Fquick-start\u002Findex",[406],{"title":402,"path":403,"stem":404},{"title":408,"path":409,"stem":410,"children":411},"Upload and manage files","\u002Fdocs\u002Fservices\u002Fstorage\u002Fupload-download","docs\u002Fservices\u002Fstorage\u002Fupload-download\u002Findex",[412],{"title":408,"path":409,"stem":410},{"title":414,"path":415,"stem":416,"children":417},"Webhooks","\u002Fdocs\u002Fservices\u002Fwebhooks","docs\u002Fservices\u002Fwebhooks\u002Findex",[418,419,425],{"title":414,"path":415,"stem":416},{"title":420,"path":421,"stem":422,"children":423},"Delivery","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fdelivery","docs\u002Fservices\u002Fwebhooks\u002Fdelivery\u002Findex",[424],{"title":420,"path":421,"stem":422},{"title":426,"path":427,"stem":428,"children":429},"Security","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fsecurity","docs\u002Fservices\u002Fwebhooks\u002Fsecurity\u002Findex",[430],{"title":426,"path":427,"stem":428},{"title":432,"path":433,"stem":434,"children":435},"Studios","\u002Fdocs\u002Fstudios","docs\u002Fstudios\u002Findex",[436,437,443,610,958,1240,1422],{"title":432,"path":433,"stem":434},{"title":438,"path":439,"stem":440,"children":441},"AI Studio","\u002Fdocs\u002Fstudios\u002Fai","docs\u002Fstudios\u002Fai\u002Findex",[442],{"title":438,"path":439,"stem":440},{"title":444,"path":445,"stem":446,"children":447},"Analytics Studio","\u002Fdocs\u002Fstudios\u002Fanalytics","docs\u002Fstudios\u002Fanalytics\u002Findex",[448,449,492,529,535,554,585],{"title":444,"path":445,"stem":446},{"title":450,"path":451,"stem":452,"children":453,"icon":455},"Make your app's data analyzable","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Findex",[454,456,462,468,474,480,486],{"title":450,"path":451,"stem":452,"icon":455},"i-lucide-table-2",{"title":457,"path":458,"stem":459,"children":460},"Column locators","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators\u002Findex",[461],{"title":457,"path":458,"stem":459},{"title":463,"path":464,"stem":465,"children":466},"Declaring a view","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view\u002Findex",[467],{"title":463,"path":464,"stem":465},{"title":469,"path":470,"stem":471,"children":472},"Example","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample\u002Findex",[473],{"title":469,"path":470,"stem":471},{"title":475,"path":476,"stem":477,"children":478},"Semantic roles","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles\u002Findex",[479],{"title":475,"path":476,"stem":477},{"title":481,"path":482,"stem":483,"children":484},"Tenant isolation","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation\u002Findex",[485],{"title":481,"path":482,"stem":483},{"title":487,"path":488,"stem":489,"children":490},"The contract","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract\u002Findex",[491],{"title":487,"path":488,"stem":489},{"title":493,"path":494,"stem":495,"children":496,"icon":498},"Stream commerce activity","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Findex",[497,499,505,511,517,523],{"title":493,"path":494,"stem":495,"icon":498},"i-lucide-radio",{"title":500,"path":501,"stem":502,"children":503},"Delivery guarantees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees\u002Findex",[504],{"title":500,"path":501,"stem":502},{"title":506,"path":507,"stem":508,"children":509},"Event types for reporting","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting\u002Findex",[510],{"title":506,"path":507,"stem":508},{"title":512,"path":513,"stem":514,"children":515},"Register an endpoint","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint\u002Findex",[516],{"title":512,"path":513,"stem":514},{"title":518,"path":519,"stem":520,"children":521},"The event stream","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream\u002Findex",[522],{"title":518,"path":519,"stem":520},{"title":524,"path":525,"stem":526,"children":527},"Verify a delivery","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery\u002Findex",[528],{"title":524,"path":525,"stem":526},{"title":530,"path":531,"stem":532,"children":533,"icon":29},"Getting data out","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out","docs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out\u002Findex",[534],{"title":530,"path":531,"stem":532,"icon":29},{"title":536,"path":537,"stem":538,"children":539,"icon":541},"Limits and what's next","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Findex",[540,542,548],{"title":536,"path":537,"stem":538,"icon":541},"i-lucide-list-checks",{"title":543,"path":544,"stem":545,"children":546},"Designing for what's coming","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming\u002Findex",[547],{"title":543,"path":544,"stem":545},{"title":549,"path":550,"stem":551,"children":552},"What does not exist yet","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet\u002Findex",[553],{"title":549,"path":550,"stem":551},{"title":555,"path":556,"stem":557,"children":558,"icon":560},"Build your own reporting store","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Findex",[559,561,567,573,579],{"title":555,"path":556,"stem":557,"icon":560},"i-lucide-database",{"title":562,"path":563,"stem":564,"children":565},"Backfill","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill\u002Findex",[566],{"title":562,"path":563,"stem":564},{"title":568,"path":569,"stem":570,"children":571},"Incremental sync","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync\u002Findex",[572],{"title":568,"path":569,"stem":570},{"title":574,"path":575,"stem":576,"children":577},"Modelling","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling\u002Findex",[578],{"title":574,"path":575,"stem":576},{"title":580,"path":581,"stem":582,"children":583},"Pull versus push","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push\u002Findex",[584],{"title":580,"path":581,"stem":582},{"title":586,"path":587,"stem":588,"children":589,"icon":591},"What the tenant sees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Findex",[590,592,598,604],{"title":586,"path":587,"stem":588,"icon":591},"i-lucide-chart-column",{"title":593,"path":594,"stem":595,"children":596},"Cohorts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts\u002Findex",[597],{"title":593,"path":594,"stem":595},{"title":599,"path":600,"stem":601,"children":602},"Datasets and charts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts\u002Findex",[603],{"title":599,"path":600,"stem":601},{"title":605,"path":606,"stem":607,"children":608},"Studio overview","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview\u002Findex",[609],{"title":605,"path":606,"stem":607},{"title":611,"path":612,"stem":613,"children":614},"App Studio","\u002Fdocs\u002Fstudios\u002Fapps","docs\u002Fstudios\u002Fapps\u002Findex",[615,616,653,724,789,807,874],{"title":611,"path":612,"stem":613},{"title":617,"path":618,"stem":619,"children":620,"icon":622},"Admin UI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Findex",[621,623,629,635,641,647],{"title":617,"path":618,"stem":619,"icon":622},"i-lucide-layout-dashboard",{"title":624,"path":625,"stem":626,"children":627},"How the Cockpit renders","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders\u002Findex",[628],{"title":624,"path":625,"stem":626},{"title":630,"path":631,"stem":632,"children":633},"Preview locally","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally\u002Findex",[634],{"title":630,"path":631,"stem":632},{"title":636,"path":637,"stem":638,"children":639},"Reading settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings\u002Findex",[640],{"title":636,"path":637,"stem":638},{"title":642,"path":643,"stem":644,"children":645},"Settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings\u002Findex",[646],{"title":642,"path":643,"stem":644},{"title":648,"path":649,"stem":650,"children":651},"Vocabularies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies\u002Findex",[652],{"title":648,"path":649,"stem":650},{"title":654,"path":655,"stem":656,"children":657,"icon":659},"Your app's API","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Findex",[658,660,665,671,677,683,689,694,700,706,712,718],{"title":654,"path":655,"stem":656,"icon":659},"i-lucide-route",{"title":318,"path":661,"stem":662,"children":663},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching\u002Findex",[664],{"title":318,"path":661,"stem":662},{"title":666,"path":667,"stem":668,"children":669},"Calling another app","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app\u002Findex",[670],{"title":666,"path":667,"stem":668},{"title":672,"path":673,"stem":674,"children":675},"Capabilities","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities\u002Findex",[676],{"title":672,"path":673,"stem":674},{"title":678,"path":679,"stem":680,"children":681},"Capability reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference\u002Findex",[682],{"title":678,"path":679,"stem":680},{"title":684,"path":685,"stem":686,"children":687},"CRUD","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud\u002Findex",[688],{"title":684,"path":685,"stem":686},{"title":234,"path":690,"stem":691,"children":692},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors\u002Findex",[693],{"title":234,"path":690,"stem":691},{"title":695,"path":696,"stem":697,"children":698},"Overriding a capability","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability","docs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability\u002Findex",[699],{"title":695,"path":696,"stem":697},{"title":701,"path":702,"stem":703,"children":704},"Pagination and filtering","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering\u002Findex",[705],{"title":701,"path":702,"stem":703},{"title":707,"path":708,"stem":709,"children":710},"Published OpenAPI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi\u002Findex",[711],{"title":707,"path":708,"stem":709},{"title":713,"path":714,"stem":715,"children":716},"The router","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter","docs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter\u002Findex",[717],{"title":713,"path":714,"stem":715},{"title":719,"path":720,"stem":721,"children":722},"Tags","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags\u002Findex",[723],{"title":719,"path":720,"stem":721},{"title":725,"path":726,"stem":727,"children":728,"icon":560},"Data model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Findex",[729,730,736,742,748,754,760,766,772,778,783],{"title":725,"path":726,"stem":727,"icon":560},{"title":731,"path":732,"stem":733,"children":734},"Adapters","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters\u002Findex",[735],{"title":731,"path":732,"stem":733},{"title":737,"path":738,"stem":739,"children":740},"Column types","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types\u002Findex",[741],{"title":737,"path":738,"stem":739},{"title":743,"path":744,"stem":745,"children":746},"Cross-app lookups","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups\u002Findex",[747],{"title":743,"path":744,"stem":745},{"title":749,"path":750,"stem":751,"children":752},"Migrations","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations\u002Findex",[753],{"title":749,"path":750,"stem":751},{"title":755,"path":756,"stem":757,"children":758},"Projections","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections\u002Findex",[759],{"title":755,"path":756,"stem":757},{"title":761,"path":762,"stem":763,"children":764},"Relationships","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships\u002Findex",[765],{"title":761,"path":762,"stem":763},{"title":767,"path":768,"stem":769,"children":770},"Schema reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference\u002Findex",[771],{"title":767,"path":768,"stem":769},{"title":773,"path":774,"stem":775,"children":776},"Scoping","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping\u002Findex",[777],{"title":773,"path":774,"stem":775},{"title":481,"path":779,"stem":780,"children":781},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation\u002Findex",[782],{"title":481,"path":779,"stem":780},{"title":784,"path":785,"stem":786,"children":787},"The typed client","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client\u002Findex",[788],{"title":784,"path":785,"stem":786},{"title":790,"path":791,"stem":792,"children":793},"Getting started","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Findex",[794,795,801],{"title":790,"path":791,"stem":792},{"title":796,"path":797,"stem":798,"children":799},"App model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model\u002Findex",[800],{"title":796,"path":797,"stem":798},{"title":802,"path":803,"stem":804,"children":805},"App isolation","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation\u002Findex",[806],{"title":802,"path":803,"stem":804},{"title":808,"path":809,"stem":810,"children":811,"icon":813},"Platform services","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Findex",[812,814,820,826,832,838,844,850,856,862,868],{"title":808,"path":809,"stem":810,"icon":813},"i-lucide-boxes",{"title":815,"path":816,"stem":817,"children":818},"Entity access","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access\u002Findex",[819],{"title":815,"path":816,"stem":817},{"title":821,"path":822,"stem":823,"children":824},"Events you emit","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit\u002Findex",[825],{"title":821,"path":822,"stem":823},{"title":827,"path":828,"stem":829,"children":830},"Events you receive","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive\u002Findex",[831],{"title":827,"path":828,"stem":829},{"title":833,"path":834,"stem":835,"children":836},"Not yet proven","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven\u002Findex",[837],{"title":833,"path":834,"stem":835},{"title":839,"path":840,"stem":841,"children":842},"Outbound HTTP","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http\u002Findex",[843],{"title":839,"path":840,"stem":841},{"title":845,"path":846,"stem":847,"children":848},"Permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions\u002Findex",[849],{"title":845,"path":846,"stem":847},{"title":851,"path":852,"stem":853,"children":854},"Person permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions\u002Findex",[855],{"title":851,"path":852,"stem":853},{"title":857,"path":858,"stem":859,"children":860},"Scheduled work","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work\u002Findex",[861],{"title":857,"path":858,"stem":859},{"title":863,"path":864,"stem":865,"children":866},"Tenant identity","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity\u002Findex",[867],{"title":863,"path":864,"stem":865},{"title":869,"path":870,"stem":871,"children":872},"Tracing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing\u002Findex",[873],{"title":869,"path":870,"stem":871},{"title":875,"path":876,"stem":877,"children":878,"icon":880},"Ship and operate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Findex",[879,881,887,893,899,905,911,917,923,929,935,941,947,953],{"title":875,"path":876,"stem":877,"icon":880},"i-lucide-rocket",{"title":882,"path":883,"stem":884,"children":885},"Billing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling\u002Findex",[886],{"title":882,"path":883,"stem":884},{"title":888,"path":889,"stem":890,"children":891},"Consent","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent\u002Findex",[892],{"title":888,"path":889,"stem":890},{"title":894,"path":895,"stem":896,"children":897},"Dependencies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies\u002Findex",[898],{"title":894,"path":895,"stem":896},{"title":900,"path":901,"stem":902,"children":903},"Deploying","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying\u002Findex",[904],{"title":900,"path":901,"stem":902},{"title":906,"path":907,"stem":908,"children":909},"Manifest reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference\u002Findex",[910],{"title":906,"path":907,"stem":908},{"title":912,"path":913,"stem":914,"children":915},"Operating","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating\u002Findex",[916],{"title":912,"path":913,"stem":914},{"title":918,"path":919,"stem":920,"children":921},"Pairing a frontend","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend\u002Findex",[922],{"title":918,"path":919,"stem":920},{"title":924,"path":925,"stem":926,"children":927},"Private or Marketplace","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace\u002Findex",[928],{"title":924,"path":925,"stem":926},{"title":930,"path":931,"stem":932,"children":933},"Publish and install","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install\u002Findex",[934],{"title":930,"path":931,"stem":932},{"title":936,"path":937,"stem":938,"children":939},"Testing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting\u002Findex",[940],{"title":936,"path":937,"stem":938},{"title":942,"path":943,"stem":944,"children":945},"Validate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate\u002Findex",[946],{"title":942,"path":943,"stem":944},{"title":948,"path":949,"stem":950,"children":951},"Verifying live","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live\u002Findex",[952],{"title":948,"path":949,"stem":950},{"title":209,"path":954,"stem":955,"children":956},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning\u002Findex",[957],{"title":209,"path":954,"stem":955},{"title":959,"path":960,"stem":961,"children":962},"Commerce Studio","\u002Fdocs\u002Fstudios\u002Fcommerce","docs\u002Fstudios\u002Fcommerce\u002Findex",[963,964,1036,1090,1133,1138,1192],{"title":959,"path":960,"stem":961},{"title":965,"path":966,"stem":967,"children":968,"icon":970},"Build an app","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Findex",[969,971,977,983,989,995,1001,1007,1013,1019,1025,1030],{"title":965,"path":966,"stem":967,"icon":970},"i-lucide-puzzle",{"title":972,"path":973,"stem":974,"children":975},"Actions and writes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes\u002Findex",[976],{"title":972,"path":973,"stem":974},{"title":978,"path":979,"stem":980,"children":981},"cockpit.json reference","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference\u002Findex",[982],{"title":978,"path":979,"stem":980},{"title":984,"path":985,"stem":986,"children":987},"Detail views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views\u002Findex",[988],{"title":984,"path":985,"stem":986},{"title":990,"path":991,"stem":992,"children":993},"Forms","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms\u002Findex",[994],{"title":990,"path":991,"stem":992},{"title":996,"path":997,"stem":998,"children":999},"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",[1000],{"title":996,"path":997,"stem":998},{"title":1002,"path":1003,"stem":1004,"children":1005},"How it renders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders\u002Findex",[1006],{"title":1002,"path":1003,"stem":1004},{"title":1008,"path":1009,"stem":1010,"children":1011},"List views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views\u002Findex",[1012],{"title":1008,"path":1009,"stem":1010},{"title":1014,"path":1015,"stem":1016,"children":1017},"Navigation","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation\u002Findex",[1018],{"title":1014,"path":1015,"stem":1016},{"title":1020,"path":1021,"stem":1022,"children":1023},"Permissions and scope","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope\u002Findex",[1024],{"title":1020,"path":1021,"stem":1022},{"title":630,"path":1026,"stem":1027,"children":1028},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally\u002Findex",[1029],{"title":630,"path":1026,"stem":1027},{"title":1031,"path":1032,"stem":1033,"children":1034},"Widgets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets\u002Findex",[1035],{"title":1031,"path":1032,"stem":1033},{"title":1037,"path":1038,"stem":1039,"children":1040,"icon":1042},"Catalog","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Findex",[1041,1043,1049,1055,1061,1067,1072,1078,1084],{"title":1037,"path":1038,"stem":1039,"icon":1042},"i-lucide-package",{"title":1044,"path":1045,"stem":1046,"children":1047},"Assets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets\u002Findex",[1048],{"title":1044,"path":1045,"stem":1046},{"title":1050,"path":1051,"stem":1052,"children":1053},"Associations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations\u002Findex",[1054],{"title":1050,"path":1051,"stem":1052},{"title":1056,"path":1057,"stem":1058,"children":1059},"Categories","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories\u002Findex",[1060],{"title":1056,"path":1057,"stem":1058},{"title":1062,"path":1063,"stem":1064,"children":1065},"Completeness","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness\u002Findex",[1066],{"title":1062,"path":1063,"stem":1064},{"title":725,"path":1068,"stem":1069,"children":1070},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model\u002Findex",[1071],{"title":725,"path":1068,"stem":1069},{"title":1073,"path":1074,"stem":1075,"children":1076},"Import and export","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export\u002Findex",[1077],{"title":1073,"path":1074,"stem":1075},{"title":1079,"path":1080,"stem":1081,"children":1082},"Products","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts\u002Findex",[1083],{"title":1079,"path":1080,"stem":1081},{"title":1085,"path":1086,"stem":1087,"children":1088},"References","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences\u002Findex",[1089],{"title":1085,"path":1086,"stem":1087},{"title":1091,"path":1092,"stem":1093,"children":1094,"icon":1096},"Customers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Findex",[1095,1097,1103,1109,1115,1121,1127],{"title":1091,"path":1092,"stem":1093,"icon":1096},"i-lucide-building-2",{"title":1098,"path":1099,"stem":1100,"children":1101},"Contacts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts\u002Findex",[1102],{"title":1098,"path":1099,"stem":1100},{"title":1104,"path":1105,"stem":1106,"children":1107},"Organizations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations\u002Findex",[1108],{"title":1104,"path":1105,"stem":1106},{"title":1110,"path":1111,"stem":1112,"children":1113},"Roles and permissions","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions\u002Findex",[1114],{"title":1110,"path":1111,"stem":1112},{"title":1116,"path":1117,"stem":1118,"children":1119},"Segments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments\u002Findex",[1120],{"title":1116,"path":1117,"stem":1118},{"title":1122,"path":1123,"stem":1124,"children":1125},"Storefront accounts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts\u002Findex",[1126],{"title":1122,"path":1123,"stem":1124},{"title":1128,"path":1129,"stem":1130,"children":1131},"Value lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists\u002Findex",[1132],{"title":1128,"path":1129,"stem":1130},{"title":790,"path":1134,"stem":1135,"children":1136,"icon":880},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fgetting-started","docs\u002Fstudios\u002Fcommerce\u002Fgetting-started\u002Findex",[1137],{"title":790,"path":1134,"stem":1135,"icon":880},{"title":1139,"path":1140,"stem":1141,"children":1142,"icon":1144},"Markets and pricing","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Findex",[1143,1145,1151,1157,1163,1169,1175,1181,1186],{"title":1139,"path":1140,"stem":1141,"icon":1144},"i-lucide-globe",{"title":1146,"path":1147,"stem":1148,"children":1149},"Carriers and tracking","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking\u002Findex",[1150],{"title":1146,"path":1147,"stem":1148},{"title":1152,"path":1153,"stem":1154,"children":1155},"Channels","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels\u002Findex",[1156],{"title":1152,"path":1153,"stem":1154},{"title":1158,"path":1159,"stem":1160,"children":1161},"Markets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets\u002Findex",[1162],{"title":1158,"path":1159,"stem":1160},{"title":1164,"path":1165,"stem":1166,"children":1167},"Payment lifecycle","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle\u002Findex",[1168],{"title":1164,"path":1165,"stem":1166},{"title":1170,"path":1171,"stem":1172,"children":1173},"Payment methods","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods\u002Findex",[1174],{"title":1170,"path":1171,"stem":1172},{"title":1176,"path":1177,"stem":1178,"children":1179},"Price lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists\u002Findex",[1180],{"title":1176,"path":1177,"stem":1178},{"title":642,"path":1182,"stem":1183,"children":1184},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings\u002Findex",[1185],{"title":642,"path":1182,"stem":1183},{"title":1187,"path":1188,"stem":1189,"children":1190},"Shipping rates","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates\u002Findex",[1191],{"title":1187,"path":1188,"stem":1189},{"title":1193,"path":1194,"stem":1195,"children":1196,"icon":1198},"Orders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Findex",[1197,1199,1205,1211,1217,1223,1228,1234],{"title":1193,"path":1194,"stem":1195,"icon":1198},"i-lucide-receipt-text",{"title":1200,"path":1201,"stem":1202,"children":1203},"Carts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts\u002Findex",[1204],{"title":1200,"path":1201,"stem":1202},{"title":1206,"path":1207,"stem":1208,"children":1209},"Events and comments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments\u002Findex",[1210],{"title":1206,"path":1207,"stem":1208},{"title":1212,"path":1213,"stem":1214,"children":1215},"Number ranges","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges\u002Findex",[1216],{"title":1212,"path":1213,"stem":1214},{"title":1218,"path":1219,"stem":1220,"children":1221},"Order lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists\u002Findex",[1222],{"title":1218,"path":1219,"stem":1220},{"title":1193,"path":1224,"stem":1225,"children":1226},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders\u002Findex",[1227],{"title":1193,"path":1224,"stem":1225},{"title":1229,"path":1230,"stem":1231,"children":1232},"Returns","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns\u002Findex",[1233],{"title":1229,"path":1230,"stem":1231},{"title":1235,"path":1236,"stem":1237,"children":1238},"Stock","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock\u002Findex",[1239],{"title":1235,"path":1236,"stem":1237},{"title":1241,"path":1242,"stem":1243,"children":1244},"Integration Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio","docs\u002Fstudios\u002Fintegration-studio\u002Findex",[1245,1246,1283,1320,1350,1355,1385],{"title":1241,"path":1242,"stem":1243},{"title":1247,"path":1248,"stem":1249,"children":1250,"icon":1252},"Build the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Findex",[1251,1253,1259,1265,1271,1277],{"title":1247,"path":1248,"stem":1249,"icon":1252},"i-lucide-workflow",{"title":1254,"path":1255,"stem":1256,"children":1257},"Expressions","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions\u002Findex",[1258],{"title":1254,"path":1255,"stem":1256},{"title":1260,"path":1261,"stem":1262,"children":1263},"Node catalog","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog\u002Findex",[1264],{"title":1260,"path":1261,"stem":1262},{"title":1266,"path":1267,"stem":1268,"children":1269},"Node configuration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration\u002Findex",[1270],{"title":1266,"path":1267,"stem":1268},{"title":1272,"path":1273,"stem":1274,"children":1275},"Templates","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates\u002Findex",[1276],{"title":1272,"path":1273,"stem":1274},{"title":1278,"path":1279,"stem":1280,"children":1281},"The workflow document","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model\u002Findex",[1282],{"title":1278,"path":1279,"stem":1280},{"title":1284,"path":1285,"stem":1286,"children":1287,"icon":1289},"Connect the systems","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Findex",[1288,1290,1296,1302,1308,1314],{"title":1284,"path":1285,"stem":1286,"icon":1289},"i-lucide-key-round",{"title":1291,"path":1292,"stem":1293,"children":1294},"Credentials","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials\u002Findex",[1295],{"title":1291,"path":1292,"stem":1293},{"title":1297,"path":1298,"stem":1299,"children":1300},"File transfer","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles\u002Findex",[1301],{"title":1297,"path":1298,"stem":1299},{"title":1303,"path":1304,"stem":1305,"children":1306},"OAuth","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth\u002Findex",[1307],{"title":1303,"path":1304,"stem":1305},{"title":1309,"path":1310,"stem":1311,"children":1312},"Reaching Revenue Cloud","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud\u002Findex",[1313],{"title":1309,"path":1310,"stem":1311},{"title":1315,"path":1316,"stem":1317,"children":1318},"Secrets","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets\u002Findex",[1319],{"title":1315,"path":1316,"stem":1317},{"title":1321,"path":1322,"stem":1323,"children":1324,"icon":1042},"Extend the Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Findex",[1325,1326,1332,1338,1344],{"title":1321,"path":1322,"stem":1323,"icon":1042},{"title":1327,"path":1328,"stem":1329,"children":1330},"Custom nodes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes\u002Findex",[1331],{"title":1327,"path":1328,"stem":1329},{"title":1333,"path":1334,"stem":1335,"children":1336},"Dynamic behaviour","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour\u002Findex",[1337],{"title":1333,"path":1334,"stem":1335},{"title":1339,"path":1340,"stem":1341,"children":1342},"Package manifest","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest\u002Findex",[1343],{"title":1339,"path":1340,"stem":1341},{"title":1345,"path":1346,"stem":1347,"children":1348},"Registration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration\u002Findex",[1349],{"title":1345,"path":1346,"stem":1347},{"title":790,"path":1351,"stem":1352,"children":1353,"icon":880},"\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started","docs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started\u002Findex",[1354],{"title":790,"path":1351,"stem":1352,"icon":880},{"title":1356,"path":1357,"stem":1358,"children":1359,"icon":135},"Run, watch, recover","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Findex",[1360,1361,1367,1373,1379],{"title":1356,"path":1357,"stem":1358,"icon":135},{"title":1362,"path":1363,"stem":1364,"children":1365},"Missed runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters\u002Findex",[1366],{"title":1362,"path":1363,"stem":1364},{"title":1368,"path":1369,"stem":1370,"children":1371},"Failure handling","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling\u002Findex",[1372],{"title":1368,"path":1369,"stem":1370},{"title":1374,"path":1375,"stem":1376,"children":1377},"Revisions and audit","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit\u002Findex",[1378],{"title":1374,"path":1375,"stem":1376},{"title":1380,"path":1381,"stem":1382,"children":1383},"Runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns\u002Findex",[1384],{"title":1380,"path":1381,"stem":1382},{"title":1386,"path":1387,"stem":1388,"children":1389,"icon":1391},"Start the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Findex",[1390,1392,1398,1404,1410,1416],{"title":1386,"path":1387,"stem":1388,"icon":1391},"i-lucide-zap",{"title":1393,"path":1394,"stem":1395,"children":1396},"Event triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers\u002Findex",[1397],{"title":1393,"path":1394,"stem":1395},{"title":1399,"path":1400,"stem":1401,"children":1402},"Execution modes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes\u002Findex",[1403],{"title":1399,"path":1400,"stem":1401},{"title":1405,"path":1406,"stem":1407,"children":1408},"Schedule triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers\u002Findex",[1409],{"title":1405,"path":1406,"stem":1407},{"title":1411,"path":1412,"stem":1413,"children":1414},"Triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers\u002Findex",[1415],{"title":1411,"path":1412,"stem":1413},{"title":1417,"path":1418,"stem":1419,"children":1420},"Webhook triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers\u002Findex",[1421],{"title":1417,"path":1418,"stem":1419},{"title":1423,"path":1424,"stem":1425,"children":1426},"Experience Studio","\u002Fdocs\u002Fstudios\u002Fsites","docs\u002Fstudios\u002Fsites\u002Findex",[1427,1428,1477,1524,1650,1656,1698],{"title":1423,"path":1424,"stem":1425},{"title":1429,"path":1430,"stem":1431,"children":1432,"icon":1434},"Compose pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Findex",[1433,1435,1441,1447,1453,1459,1465,1471],{"title":1429,"path":1430,"stem":1431,"icon":1434},"i-lucide-layout-template",{"title":1436,"path":1437,"stem":1438,"children":1439},"Block catalog","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog\u002Findex",[1440],{"title":1436,"path":1437,"stem":1438},{"title":1442,"path":1443,"stem":1444,"children":1445},"Block options","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options\u002Findex",[1446],{"title":1442,"path":1443,"stem":1444},{"title":1448,"path":1449,"stem":1450,"children":1451},"How a block works","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works\u002Findex",[1452],{"title":1448,"path":1449,"stem":1450},{"title":1454,"path":1455,"stem":1456,"children":1457},"Inline editing","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing\u002Findex",[1458],{"title":1454,"path":1455,"stem":1456},{"title":1460,"path":1461,"stem":1462,"children":1463},"Reading published pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages\u002Findex",[1464],{"title":1460,"path":1461,"stem":1462},{"title":1466,"path":1467,"stem":1468,"children":1469},"Registering blocks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering\u002Findex",[1470],{"title":1466,"path":1467,"stem":1468},{"title":1472,"path":1473,"stem":1474,"children":1475},"Shells and fields","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields\u002Findex",[1476],{"title":1472,"path":1473,"stem":1474},{"title":1478,"path":1479,"stem":1480,"children":1481,"icon":1483},"Connect data","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata","docs\u002Fstudios\u002Fsites\u002Fdata\u002Findex",[1482,1484,1489,1495,1501,1506,1512,1518],{"title":1478,"path":1479,"stem":1480,"icon":1483},"i-lucide-plug",{"title":264,"path":1485,"stem":1486,"children":1487},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication\u002Findex",[1488],{"title":264,"path":1485,"stem":1486},{"title":1490,"path":1491,"stem":1492,"children":1493},"The BFF pattern","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern\u002Findex",[1494],{"title":1490,"path":1491,"stem":1492},{"title":1496,"path":1497,"stem":1498,"children":1499},"Catalog, cart, checkout","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout\u002Findex",[1500],{"title":1496,"path":1497,"stem":1498},{"title":990,"path":1502,"stem":1503,"children":1504},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms\u002Findex",[1505],{"title":990,"path":1502,"stem":1503},{"title":1507,"path":1508,"stem":1509,"children":1510},"Media and assets","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia\u002Findex",[1511],{"title":1507,"path":1508,"stem":1509},{"title":1513,"path":1514,"stem":1515,"children":1516},"Multi-tenant themes","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes\u002Findex",[1517],{"title":1513,"path":1514,"stem":1515},{"title":1519,"path":1520,"stem":1521,"children":1522},"Search","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch\u002Findex",[1523],{"title":1519,"path":1520,"stem":1521},{"title":1525,"path":1526,"stem":1527,"children":1528,"icon":880},"Build and deploy","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Findex",[1529,1530,1536,1542,1548,1554,1560,1566,1644],{"title":1525,"path":1526,"stem":1527,"icon":880},{"title":1531,"path":1532,"stem":1533,"children":1534},"Build configuration","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration\u002Findex",[1535],{"title":1531,"path":1532,"stem":1533},{"title":1537,"path":1538,"stem":1539,"children":1540},"Compute specifications","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications\u002Findex",[1541],{"title":1537,"path":1538,"stem":1539},{"title":1543,"path":1544,"stem":1545,"children":1546},"Environment variables","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables\u002Findex",[1547],{"title":1543,"path":1544,"stem":1545},{"title":1549,"path":1550,"stem":1551,"children":1552},"From Git","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git\u002Findex",[1553],{"title":1549,"path":1550,"stem":1551},{"title":1555,"path":1556,"stem":1557,"children":1558},"From the CLI","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli\u002Findex",[1559],{"title":1555,"path":1556,"stem":1557},{"title":1561,"path":1562,"stem":1563,"children":1564},"Manually","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually\u002Findex",[1565],{"title":1561,"path":1562,"stem":1563},{"title":1567,"path":1568,"stem":1569,"children":1570},"Quick-starts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Findex",[1571,1572,1578,1584,1590,1596,1602,1608,1614,1620,1626,1632,1638],{"title":1567,"path":1568,"stem":1569},{"title":1573,"path":1574,"stem":1575,"children":1576},"Deploy an Angular app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular\u002Findex",[1577],{"title":1573,"path":1574,"stem":1575},{"title":1579,"path":1580,"stem":1581,"children":1582},"Deploy a Astro app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro\u002Findex",[1583],{"title":1579,"path":1580,"stem":1581},{"title":1585,"path":1586,"stem":1587,"children":1588},"Deploy a Flutter Web app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter\u002Findex",[1589],{"title":1585,"path":1586,"stem":1587},{"title":1591,"path":1592,"stem":1593,"children":1594},"Deploy a Next.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs\u002Findex",[1595],{"title":1591,"path":1592,"stem":1593},{"title":1597,"path":1598,"stem":1599,"children":1600},"Deploy a Nuxt app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt\u002Findex",[1601],{"title":1597,"path":1598,"stem":1599},{"title":1603,"path":1604,"stem":1605,"children":1606},"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",[1607],{"title":1603,"path":1604,"stem":1605},{"title":1609,"path":1610,"stem":1611,"children":1612},"Deploy a React app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact\u002Findex",[1613],{"title":1609,"path":1610,"stem":1611},{"title":1615,"path":1616,"stem":1617,"children":1618},"Deploy a Remix app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix\u002Findex",[1619],{"title":1615,"path":1616,"stem":1617},{"title":1621,"path":1622,"stem":1623,"children":1624},"Deploy a SvelteKit app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit\u002Findex",[1625],{"title":1621,"path":1622,"stem":1623},{"title":1627,"path":1628,"stem":1629,"children":1630},"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",[1631],{"title":1627,"path":1628,"stem":1629},{"title":1633,"path":1634,"stem":1635,"children":1636},"Deploy a Vanilla JS app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla\u002Findex",[1637],{"title":1633,"path":1634,"stem":1635},{"title":1639,"path":1640,"stem":1641,"children":1642},"Deploy a Vue.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue\u002Findex",[1643],{"title":1639,"path":1640,"stem":1641},{"title":1645,"path":1646,"stem":1647,"children":1648},"Starting points","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points\u002Findex",[1649],{"title":1645,"path":1646,"stem":1647},{"title":790,"path":1651,"stem":1652,"children":1653,"icon":1655},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fgetting-started","docs\u002Fstudios\u002Fsites\u002Fgetting-started\u002Findex",[1654],{"title":790,"path":1651,"stem":1652,"icon":1655},"i-lucide-terminal",{"title":1657,"path":1658,"stem":1659,"children":1660,"icon":1144},"Production","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Findex",[1661,1662,1668,1674,1680,1686,1692],{"title":1657,"path":1658,"stem":1659,"icon":1144},{"title":1663,"path":1664,"stem":1665,"children":1666},"Deployments","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments\u002Findex",[1667],{"title":1663,"path":1664,"stem":1665},{"title":1669,"path":1670,"stem":1671,"children":1672},"Domains","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains\u002Findex",[1673],{"title":1669,"path":1670,"stem":1671},{"title":1675,"path":1676,"stem":1677,"children":1678},"Instant rollbacks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks\u002Findex",[1679],{"title":1675,"path":1676,"stem":1677},{"title":1681,"path":1682,"stem":1683,"children":1684},"Logs","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs\u002Findex",[1685],{"title":1681,"path":1682,"stem":1683},{"title":1687,"path":1688,"stem":1689,"children":1690},"Previews","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews\u002Findex",[1691],{"title":1687,"path":1688,"stem":1689},{"title":1693,"path":1694,"stem":1695,"children":1696},"Publishing a theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme\u002Findex",[1697],{"title":1693,"path":1694,"stem":1695},{"title":1699,"path":1700,"stem":1701,"children":1702,"icon":1704},"Build the theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Findex",[1703,1705,1711,1717,1723,1729,1735,1741,1747,1765],{"title":1699,"path":1700,"stem":1701,"icon":1704},"i-lucide-palette",{"title":1706,"path":1707,"stem":1708,"children":1709},"Theme anatomy","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy\u002Findex",[1710],{"title":1706,"path":1707,"stem":1708},{"title":1712,"path":1713,"stem":1714,"children":1715},"Design tokens","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens\u002Findex",[1716],{"title":1712,"path":1713,"stem":1714},{"title":1718,"path":1719,"stem":1720,"children":1721},"Frameworks","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks\u002Findex",[1722],{"title":1718,"path":1719,"stem":1720},{"title":1724,"path":1725,"stem":1726,"children":1727},"The layer chain","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain\u002Findex",[1728],{"title":1724,"path":1725,"stem":1726},{"title":1730,"path":1731,"stem":1732,"children":1733},"Local development","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development\u002Findex",[1734],{"title":1730,"path":1731,"stem":1732},{"title":1736,"path":1737,"stem":1738,"children":1739},"Modules and plugins","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins\u002Findex",[1740],{"title":1736,"path":1737,"stem":1738},{"title":1742,"path":1743,"stem":1744,"children":1745},"Overriding","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding\u002Findex",[1746],{"title":1742,"path":1743,"stem":1744},{"title":1748,"path":1749,"stem":1750,"children":1751},"Rendering","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Findex",[1752,1753,1759],{"title":1748,"path":1749,"stem":1750},{"title":1754,"path":1755,"stem":1756,"children":1757},"SSR","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr\u002Findex",[1758],{"title":1754,"path":1755,"stem":1756},{"title":1760,"path":1761,"stem":1762,"children":1763},"Static","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic\u002Findex",[1764],{"title":1760,"path":1761,"stem":1762},{"title":1766,"path":1767,"stem":1768,"children":1769},"Service modes","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes\u002Findex",[1770],{"title":1766,"path":1767,"stem":1768},{"title":1772,"path":1773,"stem":1774,"children":1775},"Tools","\u002Fdocs\u002Ftools","docs\u002Ftools\u002Findex",[1776,1777,1784,1993],{"title":1772,"path":1773,"stem":1774},{"title":1778,"path":1779,"stem":1780,"children":1781,"icon":1783},"AI agents","\u002Fdocs\u002Ftools\u002Fai-agents","docs\u002Ftools\u002Fai-agents\u002Findex",[1782],{"title":1778,"path":1779,"stem":1780,"icon":1783},"i-lucide-shield-alert",{"title":1785,"path":1786,"stem":1787,"children":1788},"Command line","\u002Fdocs\u002Ftools\u002Fcommand-line","docs\u002Ftools\u002Fcommand-line\u002Findex",[1789,1790,1796,1801,1807,1813,1819,1825,1831,1951,1957,1963,1969,1975,1981,1987],{"title":1785,"path":1786,"stem":1787},{"title":1791,"path":1792,"stem":1793,"children":1794},"Aliases","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Faliases","docs\u002Ftools\u002Fcommand-line\u002Faliases\u002Findex",[1795],{"title":1791,"path":1792,"stem":1793},{"title":264,"path":1797,"stem":1798,"children":1799},"\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fauthentication","docs\u002Ftools\u002Fcommand-line\u002Fauthentication\u002Findex",[1800],{"title":264,"path":1797,"stem":1798},{"title":1802,"path":1803,"stem":1804,"children":1805},"Commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fcommands","docs\u002Ftools\u002Fcommand-line\u002Fcommands\u002Findex",[1806],{"title":1802,"path":1803,"stem":1804},{"title":1808,"path":1809,"stem":1810,"children":1811},"Installation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finstallation","docs\u002Ftools\u002Fcommand-line\u002Finstallation\u002Findex",[1812],{"title":1808,"path":1809,"stem":1810},{"title":1814,"path":1815,"stem":1816,"children":1817},"Interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finteractive","docs\u002Ftools\u002Fcommand-line\u002Finteractive\u002Findex",[1818],{"title":1814,"path":1815,"stem":1816},{"title":1820,"path":1821,"stem":1822,"children":1823},"Non-interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fnon-interactive","docs\u002Ftools\u002Fcommand-line\u002Fnon-interactive\u002Findex",[1824],{"title":1820,"path":1821,"stem":1822},{"title":1826,"path":1827,"stem":1828,"children":1829},"Project configuration","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fproject-configuration","docs\u002Ftools\u002Fcommand-line\u002Fproject-configuration\u002Findex",[1830],{"title":1826,"path":1827,"stem":1828},{"title":1832,"path":1833,"stem":1834,"children":1835},"Command reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Findex",[1836,1837,1843,1849,1855,1861,1867,1873,1879,1885,1891,1897,1903,1909,1915,1921,1927,1933,1939,1945],{"title":1832,"path":1833,"stem":1834},{"title":1838,"path":1839,"stem":1840,"children":1841},"About commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout\u002Findex",[1842],{"title":1838,"path":1839,"stem":1840},{"title":1844,"path":1845,"stem":1846,"children":1847},"Apps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps\u002Findex",[1848],{"title":1844,"path":1845,"stem":1846},{"title":1850,"path":1851,"stem":1852,"children":1853},"Carts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Findex",[1854],{"title":1850,"path":1851,"stem":1852},{"title":1856,"path":1857,"stem":1858,"children":1859},"Channels commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels\u002Findex",[1860],{"title":1856,"path":1857,"stem":1858},{"title":1862,"path":1863,"stem":1864,"children":1865},"Create commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate\u002Findex",[1866],{"title":1862,"path":1863,"stem":1864},{"title":1868,"path":1869,"stem":1870,"children":1871},"Customers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Findex",[1872],{"title":1868,"path":1869,"stem":1870},{"title":1874,"path":1875,"stem":1876,"children":1877},"Deploy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy\u002Findex",[1878],{"title":1874,"path":1875,"stem":1876},{"title":1880,"path":1881,"stem":1882,"children":1883},"Forms commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms\u002Findex",[1884],{"title":1880,"path":1881,"stem":1882},{"title":1886,"path":1887,"stem":1888,"children":1889},"Markets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets\u002Findex",[1890],{"title":1886,"path":1887,"stem":1888},{"title":1892,"path":1893,"stem":1894,"children":1895},"Order lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists\u002Findex",[1896],{"title":1892,"path":1893,"stem":1894},{"title":1898,"path":1899,"stem":1900,"children":1901},"Orders commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders\u002Findex",[1902],{"title":1898,"path":1899,"stem":1900},{"title":1904,"path":1905,"stem":1906,"children":1907},"Pages commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Findex",[1908],{"title":1904,"path":1905,"stem":1906},{"title":1910,"path":1911,"stem":1912,"children":1913},"Prices commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices\u002Findex",[1914],{"title":1910,"path":1911,"stem":1912},{"title":1916,"path":1917,"stem":1918,"children":1919},"Products commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Findex",[1920],{"title":1916,"path":1917,"stem":1918},{"title":1922,"path":1923,"stem":1924,"children":1925},"Search commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch\u002Findex",[1926],{"title":1922,"path":1923,"stem":1924},{"title":1928,"path":1929,"stem":1930,"children":1931},"Settings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings\u002Findex",[1932],{"title":1928,"path":1929,"stem":1930},{"title":1934,"path":1935,"stem":1936,"children":1937},"Sites commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites\u002Findex",[1938],{"title":1934,"path":1935,"stem":1936},{"title":1940,"path":1941,"stem":1942,"children":1943},"Skills commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills\u002Findex",[1944],{"title":1940,"path":1941,"stem":1942},{"title":1946,"path":1947,"stem":1948,"children":1949},"Storage commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage\u002Findex",[1950],{"title":1946,"path":1947,"stem":1948},{"title":1952,"path":1953,"stem":1954,"children":1955},"Interactive shell (REPL)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Frepl","docs\u002Ftools\u002Fcommand-line\u002Frepl\u002Findex",[1956],{"title":1952,"path":1953,"stem":1954},{"title":1958,"path":1959,"stem":1960,"children":1961},"Scaffolding","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscaffolding","docs\u002Ftools\u002Fcommand-line\u002Fscaffolding\u002Findex",[1962],{"title":1958,"path":1959,"stem":1960},{"title":1964,"path":1965,"stem":1966,"children":1967},"Scripting & output","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscripting","docs\u002Ftools\u002Fcommand-line\u002Fscripting\u002Findex",[1968],{"title":1964,"path":1965,"stem":1966},{"title":1970,"path":1971,"stem":1972,"children":1973},"Skills","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Fskills\u002Findex",[1974],{"title":1970,"path":1971,"stem":1972},{"title":1976,"path":1977,"stem":1978,"children":1979},"Full-screen app (TUI)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftui","docs\u002Ftools\u002Fcommand-line\u002Ftui\u002Findex",[1980],{"title":1976,"path":1977,"stem":1978},{"title":1982,"path":1983,"stem":1984,"children":1985},"Type generation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftype-generation","docs\u002Ftools\u002Fcommand-line\u002Ftype-generation\u002Findex",[1986],{"title":1982,"path":1983,"stem":1984},{"title":1988,"path":1989,"stem":1990,"children":1991},"Background watchers","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fwatch","docs\u002Ftools\u002Fcommand-line\u002Fwatch\u002Findex",[1992],{"title":1988,"path":1989,"stem":1990},{"title":1994,"path":1995,"stem":1996,"children":1997},"Model Context Protocol","\u002Fdocs\u002Ftools\u002Fmcp","docs\u002Ftools\u002Fmcp\u002Findex",[1998,1999,2005,2011,2017,2023,2029,2035,2041],{"title":1994,"path":1995,"stem":1996},{"title":2000,"path":2001,"stem":2002,"children":2003},"revenexx docs MCP in Google Antigravity","\u002Fdocs\u002Ftools\u002Fmcp\u002Fantigravity","docs\u002Ftools\u002Fmcp\u002Fantigravity\u002Findex",[2004],{"title":2000,"path":2001,"stem":2002},{"title":2006,"path":2007,"stem":2008,"children":2009},"revenexx docs MCP in Claude Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-code","docs\u002Ftools\u002Fmcp\u002Fclaude-code\u002Findex",[2010],{"title":2006,"path":2007,"stem":2008},{"title":2012,"path":2013,"stem":2014,"children":2015},"revenexx docs MCP in Claude Desktop","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-desktop","docs\u002Ftools\u002Fmcp\u002Fclaude-desktop\u002Findex",[2016],{"title":2012,"path":2013,"stem":2014},{"title":2018,"path":2019,"stem":2020,"children":2021},"revenexx docs MCP in Cursor","\u002Fdocs\u002Ftools\u002Fmcp\u002Fcursor","docs\u002Ftools\u002Fmcp\u002Fcursor\u002Findex",[2022],{"title":2018,"path":2019,"stem":2020},{"title":2024,"path":2025,"stem":2026,"children":2027},"revenexx docs MCP in OpenCode","\u002Fdocs\u002Ftools\u002Fmcp\u002Fopencode","docs\u002Ftools\u002Fmcp\u002Fopencode\u002Findex",[2028],{"title":2024,"path":2025,"stem":2026},{"title":2030,"path":2031,"stem":2032,"children":2033},"revenexx docs MCP in VS Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fvscode","docs\u002Ftools\u002Fmcp\u002Fvscode\u002Findex",[2034],{"title":2030,"path":2031,"stem":2032},{"title":2036,"path":2037,"stem":2038,"children":2039},"revenexx docs MCP in Windsurf","\u002Fdocs\u002Ftools\u002Fmcp\u002Fwindsurf","docs\u002Ftools\u002Fmcp\u002Fwindsurf\u002Findex",[2040],{"title":2036,"path":2037,"stem":2038},{"title":2042,"path":2043,"stem":2044,"children":2045},"revenexx docs MCP in Zenflow","\u002Fdocs\u002Ftools\u002Fmcp\u002Fzenflow","docs\u002Ftools\u002Fmcp\u002Fzenflow\u002Findex",[2046],{"title":2042,"path":2043,"stem":2044},{"id":2048,"title":1736,"body":2049,"description":3310,"extension":3311,"landing":3312,"links":3312,"meta":3313,"navigation":3315,"path":1737,"seo":3316,"sitemap":3317,"stem":1738,"__hash__":3318},"docs\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins\u002Findex.md",{"type":2050,"value":2051,"toc":3298},"minimark",[2052,2074,2094,2099,2102,2152,2160,2176,2180,2186,2343,2353,2356,2385,2389,2396,2404,2485,2490,2496,2568,2571,2590,2599,2602,2653,2669,2673,2676,2690,2697,2794,2801,2829,2840,2862,2882,2891,2895,2902,2920,2926,2933,2937,2940,3002,3015,3063,3069,3075,3079,3082,3085,3223,3226,3245,3249,3294],[2053,2054,2055,2056,2060,2061,2065,2066,2069,2070,2073],"p",{},"A theme is a ",[2057,2058,2059],"strong",{},"Nuxt 4 application you own",". The ",[2062,2063,2064],"code",{},"modules"," array in its ",[2062,2067,2068],{},"nuxt.config.ts"," is yours, ",[2062,2071,2072],{},"app\u002Fplugins\u002F"," is yours, and there is no allowlist to clear before you add to either.",[2053,2075,2076,2077,2080,2081,2083,2084,2086,2087,2089,2090,2093],{},"That is worth stating plainly, because it is the question every Nuxt developer asks in their first week and the answer sounds too easy. The reason it is that easy: the platform runs ",[2057,2078,2079],{},"your"," install and build commands against ",[2057,2082,2079],{}," repository. Whatever you put in ",[2062,2085,2064],{}," or ",[2062,2088,2072],{}," is compiled by the same ",[2062,2091,2092],{},"npm run build"," you run locally, and nothing in that pipeline vets it.",[2095,2096,2098],"h2",{"id":2097},"the-one-line-that-matters","The one line that matters",[2053,2100,2101],{},"Build-time extensibility exists. Runtime injection does not.",[2103,2104,2105,2118],"table",{},[2106,2107,2108],"thead",{},[2109,2110,2111,2115],"tr",{},[2112,2113,2114],"th",{},"What you want to do",[2112,2116,2117],{},"Supported",[2119,2120,2121,2137],"tbody",{},[2109,2122,2123,2131],{},[2124,2125,2126,2127,2130],"td",{},"Add a module or plugin to ",[2057,2128,2129],{},"your own"," theme repo, compiled by your own build",[2124,2132,2133,2136],{},[2057,2134,2135],{},"Yes"," — this page",[2109,2138,2139,2146],{},[2124,2140,2141,2142,2145],{},"Inject a plugin into an ",[2057,2143,2144],{},"already deployed"," site, or a theme you don't own",[2124,2147,2148,2151],{},[2057,2149,2150],{},"No"," — there is no such hook",[2053,2153,2154,2155,2159],{},"If you're looking for a way to push a script into a running site without a rebuild, stop looking: it isn't a permissions problem you can solve, it's a feature that doesn't exist. Every change to a theme's code reaches production the same way — commit, build, ",[2156,2157,2158],"a",{"href":1526},"deploy",".",[2053,2161,2162,2163,2167,2168,2171,2172,2175],{},"For the things you ",[2164,2165,2166],"em",{},"can"," change without a rebuild, see ",[2156,2169,2170],{"href":1713},"design tokens"," for branding and ",[2156,2173,2174],{"href":1767},"service modes"," for where a data domain reads from.",[2095,2177,2179],{"id":2178},"adding-a-module","Adding a module",[2053,2181,2182,2183,2185],{},"Modules go in the ",[2062,2184,2064],{}," array, exactly as in any Nuxt project. The reference template ships five of its own on top of the base layer:",[2187,2188,2193],"pre",{"className":2189,"code":2190,"filename":2068,"language":2191,"meta":2192,"style":2192},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  extends: ['@revenexx\u002Fcover'],\n\n  modules: [\n    '@scayle\u002Fnuxt-opentelemetry',\n    '@nuxt\u002Fui',\n    '@nuxt\u002Feslint',\n    '@pinia\u002Fnuxt',\n    '@nuxtjs\u002Fi18n',\n  ],\n})\n","ts","",[2062,2194,2195,2219,2247,2254,2265,2278,2290,2302,2314,2326,2334],{"__ignoreMap":2192},[2196,2197,2200,2204,2207,2211,2215],"span",{"class":2198,"line":2199},"line",1,[2196,2201,2203],{"class":2202},"s7zQu","export",[2196,2205,2206],{"class":2202}," default",[2196,2208,2210],{"class":2209},"s2Zo4"," defineNuxtConfig",[2196,2212,2214],{"class":2213},"sTEyZ","(",[2196,2216,2218],{"class":2217},"sMK4o","{\n",[2196,2220,2222,2226,2229,2232,2235,2239,2241,2244],{"class":2198,"line":2221},2,[2196,2223,2225],{"class":2224},"swJcz","  extends",[2196,2227,2228],{"class":2217},":",[2196,2230,2231],{"class":2213}," [",[2196,2233,2234],{"class":2217},"'",[2196,2236,2238],{"class":2237},"sfazB","@revenexx\u002Fcover",[2196,2240,2234],{"class":2217},[2196,2242,2243],{"class":2213},"]",[2196,2245,2246],{"class":2217},",\n",[2196,2248,2250],{"class":2198,"line":2249},3,[2196,2251,2253],{"emptyLinePlaceholder":2252},true,"\n",[2196,2255,2257,2260,2262],{"class":2198,"line":2256},4,[2196,2258,2259],{"class":2224},"  modules",[2196,2261,2228],{"class":2217},[2196,2263,2264],{"class":2213}," [\n",[2196,2266,2268,2271,2274,2276],{"class":2198,"line":2267},5,[2196,2269,2270],{"class":2217},"    '",[2196,2272,2273],{"class":2237},"@scayle\u002Fnuxt-opentelemetry",[2196,2275,2234],{"class":2217},[2196,2277,2246],{"class":2217},[2196,2279,2281,2283,2286,2288],{"class":2198,"line":2280},6,[2196,2282,2270],{"class":2217},[2196,2284,2285],{"class":2237},"@nuxt\u002Fui",[2196,2287,2234],{"class":2217},[2196,2289,2246],{"class":2217},[2196,2291,2293,2295,2298,2300],{"class":2198,"line":2292},7,[2196,2294,2270],{"class":2217},[2196,2296,2297],{"class":2237},"@nuxt\u002Feslint",[2196,2299,2234],{"class":2217},[2196,2301,2246],{"class":2217},[2196,2303,2305,2307,2310,2312],{"class":2198,"line":2304},8,[2196,2306,2270],{"class":2217},[2196,2308,2309],{"class":2237},"@pinia\u002Fnuxt",[2196,2311,2234],{"class":2217},[2196,2313,2246],{"class":2217},[2196,2315,2317,2319,2322,2324],{"class":2198,"line":2316},9,[2196,2318,2270],{"class":2217},[2196,2320,2321],{"class":2237},"@nuxtjs\u002Fi18n",[2196,2323,2234],{"class":2217},[2196,2325,2246],{"class":2217},[2196,2327,2329,2332],{"class":2198,"line":2328},10,[2196,2330,2331],{"class":2213},"  ]",[2196,2333,2246],{"class":2217},[2196,2335,2337,2340],{"class":2198,"line":2336},11,[2196,2338,2339],{"class":2217},"}",[2196,2341,2342],{"class":2213},")\n",[2053,2344,2345,2346,2348,2349,2352],{},"Note the first entry. ",[2062,2347,2273],{}," is a ",[2057,2350,2351],{},"third-party"," module, not one of ours, sitting in the template we ship — which answers the \"may I add a module that isn't yours?\" question by example rather than by policy.",[2053,2354,2355],{},"Two rules apply, and both come from the build rather than from us:",[2357,2358,2359,2370],"ul",{},[2360,2361,2362,2365,2366,2369],"li",{},[2057,2363,2364],{},"It has to resolve from the public registry."," The build installs your dependencies with your install command, so a module from a private registry or a ",[2062,2367,2368],{},"file:"," path won't be there. Commit your lockfile.",[2360,2371,2372,2375,2376,2378,2379,2381,2382,2159],{},[2057,2373,2374],{},"Config is merged, not replaced."," Your ",[2062,2377,2064],{}," array adds to what the base layers already registered; you are never restating theirs. Same for the rest of ",[2062,2380,2068],{}," — see ",[2156,2383,2384],{"href":1725},"the layer chain",[2095,2386,2388],{"id":2387},"adding-a-plugin","Adding a plugin",[2053,2390,2391,2392,2395],{},"Plugins go in ",[2062,2393,2394],{},"app\u002Fplugins\u002F*.ts",", with Nuxt's ordinary suffixes:",[2187,2397,2402],{"className":2398,"code":2400,"language":2401,"meta":2192},[2399],"language-text","app\u002Fplugins\u002Fanalytics.client.ts     ← browser only\napp\u002Fplugins\u002Frequest-context.server.ts  ← server only\napp\u002Fplugins\u002Ferror-reporting.ts      ← both\n","text",[2062,2403,2400],{"__ignoreMap":2192},[2187,2405,2408],{"className":2189,"code":2406,"filename":2407,"language":2191,"meta":2192,"style":2192},"export default defineNuxtPlugin((nuxtApp) => {\n  nuxtApp.hook('page:finish', () => {\n    \u002F\u002F your own instrumentation, per navigation\n  })\n})\n","app\u002Fplugins\u002Fanalytics.client.ts",[2062,2409,2410,2437,2466,2472,2479],{"__ignoreMap":2192},[2196,2411,2412,2414,2416,2419,2421,2423,2427,2430,2434],{"class":2198,"line":2199},[2196,2413,2203],{"class":2202},[2196,2415,2206],{"class":2202},[2196,2417,2418],{"class":2209}," defineNuxtPlugin",[2196,2420,2214],{"class":2213},[2196,2422,2214],{"class":2217},[2196,2424,2426],{"class":2425},"sHdIc","nuxtApp",[2196,2428,2429],{"class":2217},")",[2196,2431,2433],{"class":2432},"spNyl"," =>",[2196,2435,2436],{"class":2217}," {\n",[2196,2438,2439,2442,2444,2447,2449,2451,2454,2456,2459,2462,2464],{"class":2198,"line":2221},[2196,2440,2441],{"class":2213},"  nuxtApp",[2196,2443,2159],{"class":2217},[2196,2445,2446],{"class":2209},"hook",[2196,2448,2214],{"class":2224},[2196,2450,2234],{"class":2217},[2196,2452,2453],{"class":2237},"page:finish",[2196,2455,2234],{"class":2217},[2196,2457,2458],{"class":2217},",",[2196,2460,2461],{"class":2217}," ()",[2196,2463,2433],{"class":2432},[2196,2465,2436],{"class":2217},[2196,2467,2468],{"class":2198,"line":2249},[2196,2469,2471],{"class":2470},"sHwdD","    \u002F\u002F your own instrumentation, per navigation\n",[2196,2473,2474,2477],{"class":2198,"line":2256},[2196,2475,2476],{"class":2217},"  }",[2196,2478,2342],{"class":2224},[2196,2480,2481,2483],{"class":2198,"line":2267},[2196,2482,2339],{"class":2217},[2196,2484,2342],{"class":2213},[2486,2487,2489],"h3",{"id":2488},"how-yours-compose-with-the-layers","How yours compose with the layers'",[2053,2491,2492,2493,2495],{},"The base layers already use this mechanism, which is the clearest evidence that it's the supported one. ",[2062,2494,2238],{}," ships five plugins:",[2103,2497,2498,2508],{},[2106,2499,2500],{},[2109,2501,2502,2505],{},[2112,2503,2504],{},"Plugin",[2112,2506,2507],{},"What it does",[2119,2509,2510,2520,2530,2540,2554],{},[2109,2511,2512,2517],{},[2124,2513,2514],{},[2062,2515,2516],{},"auth-init.client.ts",[2124,2518,2519],{},"Initialises the auth store, then restores the cart from the server. In that order, because session expiry has to clear the cart first.",[2109,2521,2522,2527],{},[2124,2523,2524],{},[2062,2525,2526],{},"auth-session.server.ts",[2124,2528,2529],{},"Reads the session cookie on the server and hydrates the auth store, so the first render already knows whether a buyer is signed in.",[2109,2531,2532,2537],{},[2124,2533,2534],{},[2062,2535,2536],{},"formkit-locale.client.ts",[2124,2538,2539],{},"Keeps FormKit's built-in validation messages in sync with the active locale.",[2109,2541,2542,2547],{},[2124,2543,2544],{},[2062,2545,2546],{},"model-viewer.client.ts",[2124,2548,2549,2550,2553],{},"Registers the ",[2062,2551,2552],{},"\u003Crx-model-viewer>"," custom element. Client-only, because it renders WebGL.",[2109,2555,2556,2561],{},[2124,2557,2558],{},[2062,2559,2560],{},"safari-keyboard-nav.client.ts",[2124,2562,2563,2564,2567],{},"Patches missing ",[2062,2565,2566],{},"tabindex"," onto links and comboboxes after each navigation.",[2053,2569,2570],{},"Read that list as a menu of patterns: a store to warm up, a cookie to read server-side, a browser-only element to register, a DOM fix to apply per navigation. Your own plugins will look like one of these.",[2053,2572,2573,2574,2577,2578,2581,2582,2585,2586,2589],{},"A theme extending ",[2062,2575,2576],{},"@revenexx\u002Fcover-theme"," inherits three more — ",[2062,2579,2580],{},"branding.ts",", ",[2062,2583,2584],{},"nav-menus.ts"," and ",[2062,2587,2588],{},"appearance-defaults.ts"," — which resolve the tenant's logo, navigation and appearance settings once per request.",[2053,2591,2592,2595,2596,2598],{},[2057,2593,2594],{},"Your plugins run alongside these, not instead of them."," Nuxt collects plugins from every layer in the chain, so adding ",[2062,2597,2407],{}," doesn't displace anything.",[2053,2600,2601],{},"Two consequences:",[2357,2603,2604,2628],{},[2360,2605,2606,2609,2610,2612,2613,2616,2617,2620,2621,2624,2625,2627],{},[2057,2607,2608],{},"Registration order follows the filename",", alphabetically within a directory, and layers are collected base-first — so every plugin the layers ship has already run by the time yours does. Within your own ",[2062,2611,2072],{},", order two of your files with a numeric prefix (",[2062,2614,2615],{},"01.setup.ts",") or ",[2062,2618,2619],{},"dependsOn"," in the object form of ",[2062,2622,2623],{},"defineNuxtPlugin",". Neither reaches a layer's plugin: ",[2062,2626,2619],{}," matches on a name that only the object form sets, and the layer plugins are all function-form, so naming one is silently ignored.",[2360,2629,2630,2633,2634,2637,2638,2641,2642,2645,2646,2648,2649,2652],{},[2057,2631,2632],{},"Shadowing does not apply to plugins."," This is the trap. Naming your file ",[2062,2635,2636],{},"app\u002Fplugins\u002Fbranding.ts"," does ",[2164,2639,2640],{},"not"," replace ",[2062,2643,2644],{},"cover-theme","'s ",[2062,2647,2580],{}," — Nuxt de-duplicates plugins by resolved file path, and two layers give two different paths, so ",[2057,2650,2651],{},"both run",". Route middleware behaves the opposite way, de-duplicating by name, which is where the expectation comes from.",[2654,2655,2656,2657,2660,2661,2664,2665,2668],"warning",{},"You cannot switch off a layer's plugin by putting a file at the same path. To change what one does, change what it ",[2164,2658,2659],{},"reads"," — the server route it fetches, the ",[2062,2662,2663],{},"app.config"," key it consults — or shadow that instead. See ",[2156,2666,2667],{"href":1743},"overriding the base layer",", which covers the components, composables, routes and layouts where path shadowing genuinely works.",[2095,2670,2672],{"id":2671},"build-time-and-runtime-are-different-things","Build-time and runtime are different things",[2053,2674,2675],{},"This is the constraint partners actually trip over, and it costs an afternoon when it bites.",[2053,2677,2678,2679,2682,2683,2685,2686,2689],{},"A module's ",[2057,2680,2681],{},"options"," in ",[2062,2684,2068],{}," are evaluated when the theme is compiled. Environment variables are read when the server ",[2057,2687,2688],{},"runs",". A value that gates whether code is included in the bundle at all cannot be switched on later by setting a variable on the deployed site — there is nothing left to switch on.",[2053,2691,2692,2693,2696],{},"The template already contains the example. The OpenTelemetry module's ",[2062,2694,2695],{},"enabled"," option is a build-time gate: when it's false the module strips its instrumentation out of the build entirely.",[2187,2698,2700],{"className":2189,"code":2699,"filename":2068,"language":2191,"meta":2192,"style":2192},"export default defineNuxtConfig({\n  opentelemetry: {\n    \u002F\u002F BUILD-TIME: false removes the instrumentation from the bundle.\n    enabled: process.env.NODE_ENV === 'production',\n    pathBlocklist: '(^\u002F(_nuxt|__nuxt|cdn)\u002F)|(^\u002Ffavicon\\\\.ico$)|(^\u002Fhealthz$)',\n  },\n})\n",[2062,2701,2702,2714,2723,2728,2761,2783,2788],{"__ignoreMap":2192},[2196,2703,2704,2706,2708,2710,2712],{"class":2198,"line":2199},[2196,2705,2203],{"class":2202},[2196,2707,2206],{"class":2202},[2196,2709,2210],{"class":2209},[2196,2711,2214],{"class":2213},[2196,2713,2218],{"class":2217},[2196,2715,2716,2719,2721],{"class":2198,"line":2221},[2196,2717,2718],{"class":2224},"  opentelemetry",[2196,2720,2228],{"class":2217},[2196,2722,2436],{"class":2217},[2196,2724,2725],{"class":2198,"line":2249},[2196,2726,2727],{"class":2470},"    \u002F\u002F BUILD-TIME: false removes the instrumentation from the bundle.\n",[2196,2729,2730,2733,2735,2738,2740,2743,2745,2748,2751,2754,2757,2759],{"class":2198,"line":2256},[2196,2731,2732],{"class":2224},"    enabled",[2196,2734,2228],{"class":2217},[2196,2736,2737],{"class":2213}," process",[2196,2739,2159],{"class":2217},[2196,2741,2742],{"class":2213},"env",[2196,2744,2159],{"class":2217},[2196,2746,2747],{"class":2213},"NODE_ENV ",[2196,2749,2750],{"class":2217},"===",[2196,2752,2753],{"class":2217}," '",[2196,2755,2756],{"class":2237},"production",[2196,2758,2234],{"class":2217},[2196,2760,2246],{"class":2217},[2196,2762,2763,2766,2768,2770,2773,2776,2779,2781],{"class":2198,"line":2267},[2196,2764,2765],{"class":2224},"    pathBlocklist",[2196,2767,2228],{"class":2217},[2196,2769,2753],{"class":2217},[2196,2771,2772],{"class":2237},"(^\u002F(_nuxt|__nuxt|cdn)\u002F)|(^\u002Ffavicon",[2196,2774,2775],{"class":2213},"\\\\",[2196,2777,2778],{"class":2237},".ico$)|(^\u002Fhealthz$)",[2196,2780,2234],{"class":2217},[2196,2782,2246],{"class":2217},[2196,2784,2785],{"class":2198,"line":2280},[2196,2786,2787],{"class":2217},"  },\n",[2196,2789,2790,2792],{"class":2198,"line":2292},[2196,2791,2339],{"class":2217},[2196,2793,2342],{"class":2213},[2053,2795,2796,2797,2800],{},"Whether traces are actually ",[2057,2798,2799],{},"exported"," is the runtime half, and it's set per site deploy:",[2187,2802,2806],{"className":2803,"code":2804,"language":2805,"meta":2192,"style":2192},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","OTEL_EXPORTER_OTLP_ENDPOINT=https:\u002F\u002Fotlp.your-collector.example\nOTEL_SERVICE_NAME=acme-storefront\n","bash",[2062,2807,2808,2819],{"__ignoreMap":2192},[2196,2809,2810,2813,2816],{"class":2198,"line":2199},[2196,2811,2812],{"class":2213},"OTEL_EXPORTER_OTLP_ENDPOINT",[2196,2814,2815],{"class":2217},"=",[2196,2817,2818],{"class":2237},"https:\u002F\u002Fotlp.your-collector.example\n",[2196,2820,2821,2824,2826],{"class":2198,"line":2221},[2196,2822,2823],{"class":2213},"OTEL_SERVICE_NAME",[2196,2825,2815],{"class":2217},[2196,2827,2828],{"class":2237},"acme-storefront\n",[2654,2830,2831,2832,2835,2836,2839],{},"Get the two halves the wrong way round and the failure is silent. A production build with ",[2062,2833,2834],{},"enabled: false"," emits nothing no matter what ",[2062,2837,2838],{},"OTEL_*"," variables the site carries, because the instrumentation was never compiled in. Build-time first, runtime second.",[2053,2841,2842,2843,2846,2847,2849,2850,2853,2854,2856,2857,2859,2860,2159],{},"Be careful with the runtime half: this module starts its exporter ",[2057,2844,2845],{},"unconditionally"," once it is compiled in. Leaving ",[2062,2848,2838],{}," unset does not make it inert — the SDK falls back to a local default endpoint and logs connection errors against something that is not there. If you want it compiled in but silent, set ",[2062,2851,2852],{},"OTEL_SDK_DISABLED=true","; if you want it gone, that is the ",[2062,2855,2695],{}," gate above. The same ",[2062,2858,2838],{}," variables for an App are documented in ",[2156,2861,869],{"href":870},[2053,2863,2864,2865,2867,2868,2871,2872,2874,2875,2877,2878,2881],{},"The same split explains a choice inside the base layer worth copying. All three of ",[2062,2866,2644],{},"'s plugins publish what they fetch into per-request ",[2062,2869,2870],{},"useState"," rather than into ",[2062,2873,2663],{},", because the tenant is a per-request fact while ",[2062,2876,2663],{}," is a build-time singleton. One deployment serves many tenants, so anything tenant-specific has to be resolved at request time, and a failed fetch publishes nothing, so the shipped defaults keep applying. Read each one before copying it: ",[2062,2879,2880],{},"nav-menus"," treats an empty list as a deliberate choice and publishes it, which switches a nav group off rather than restoring the default.",[2053,2883,2884,2885,2887,2888,2159],{},"If you write a plugin that reads anything tenant-specific, copy that shape. ",[2062,2886,2663],{}," is a server-wide singleton: a plugin writing a tenant's value into it at request time leaks that value to every other tenant being served concurrently. See ",[2156,2889,2890],{"href":1514},"multi-tenant themes",[2095,2892,2894],{"id":2893},"a-module-can-be-production-only-for-a-good-reason","A module can be production-only, for a good reason",[2053,2896,2897,2898,2901],{},"The template deliberately disables OpenTelemetry under ",[2062,2899,2900],{},"nuxt dev",", and the reason generalises.",[2053,2903,2904,2905,2907,2908,2911,2912,2915,2916,2919],{},"The template's own comment records why: with the module active under ",[2062,2906,2900],{},", its request instrumentation throws on the URLs the dev server produces and ",[2057,2909,2910],{},"every page 500s",". Take that as the template author's account of a real failure rather than a mechanism to reason from — the versions named in the comment and in the module's own dependencies do not agree, so the precise cause is not settled. Gating it on ",[2062,2913,2914],{},"NODE_ENV === 'production'"," is what keeps the dev server usable, and it is tidier than dropping the module from ",[2062,2917,2918],{},"modules[]"," when you want it off.",[2053,2921,2922,2923,2925],{},"The pattern to take from it: when a module misbehaves in dev but is needed in production, gate its ",[2062,2924,2695],{}," option rather than removing the module or debugging the dev server. Leave a comment saying why, so the next developer doesn't \"fix\" it by turning it back on.",[2053,2927,2928,2929,2932],{},"And check the inverse before you ship: ",[2062,2930,2931],{},"npm run build && npm run preview"," runs the real production server, which is the first place a production-only module executes on your machine. A module that is off in dev has never been exercised by your dev loop.",[2095,2934,2936],{"id":2935},"ssr-compatibility","SSR compatibility",[2053,2938,2939],{},"A theme is server-rendered — the template sets it explicitly:",[2187,2941,2943],{"className":2189,"code":2942,"filename":2068,"language":2191,"meta":2192,"style":2192},"export default defineNuxtConfig({\n  routeRules: {\n    '\u002F**': { ssr: true },\n  },\n})\n",[2062,2944,2945,2957,2966,2992,2996],{"__ignoreMap":2192},[2196,2946,2947,2949,2951,2953,2955],{"class":2198,"line":2199},[2196,2948,2203],{"class":2202},[2196,2950,2206],{"class":2202},[2196,2952,2210],{"class":2209},[2196,2954,2214],{"class":2213},[2196,2956,2218],{"class":2217},[2196,2958,2959,2962,2964],{"class":2198,"line":2221},[2196,2960,2961],{"class":2224},"  routeRules",[2196,2963,2228],{"class":2217},[2196,2965,2436],{"class":2217},[2196,2967,2968,2970,2973,2975,2977,2980,2983,2985,2989],{"class":2198,"line":2249},[2196,2969,2270],{"class":2217},[2196,2971,2972],{"class":2224},"\u002F**",[2196,2974,2234],{"class":2217},[2196,2976,2228],{"class":2217},[2196,2978,2979],{"class":2217}," {",[2196,2981,2982],{"class":2224}," ssr",[2196,2984,2228],{"class":2217},[2196,2986,2988],{"class":2987},"sfNiH"," true",[2196,2990,2991],{"class":2217}," },\n",[2196,2993,2994],{"class":2198,"line":2256},[2196,2995,2787],{"class":2217},[2196,2997,2998,3000],{"class":2198,"line":2267},[2196,2999,2339],{"class":2217},[2196,3001,2342],{"class":2213},[2053,3003,3004,3005,2581,3008,2086,3011,3014],{},"So a module or library that touches ",[2062,3006,3007],{},"window",[2062,3009,3010],{},"document",[2062,3012,3013],{},"localStorage"," at import time will break the server render rather than degrading. Two ways out, in order of preference:",[2103,3016,3017,3027],{},[2106,3018,3019],{},[2109,3020,3021,3024],{},[2112,3022,3023],{},"Situation",[2112,3025,3026],{},"Do this",[2119,3028,3029,3044,3052],{},[2109,3030,3031,3034],{},[2124,3032,3033],{},"A browser-only library you call yourself",[2124,3035,3036,3037,3040,3041],{},"Put it in a ",[2062,3038,3039],{},".client.ts"," plugin, or import it inside ",[2062,3042,3043],{},"onMounted",[2109,3045,3046,3049],{},[2124,3047,3048],{},"A module that has no server half",[2124,3050,3051],{},"Register it, and keep its work client-side via its own options",[2109,3053,3054,3057],{},[2124,3055,3056],{},"A whole route that genuinely can't server-render",[2124,3058,3059,3062],{},[2062,3060,3061],{},"routeRules: { '\u002Fthat-route': { ssr: false } }"," — last resort",[2053,3064,3065,3066,3068],{},"Reach for the route rule last. Price, stock and the buyer's session are per-request facts, which is why the theme server-renders in the first place; a client-only route gives that up for the whole page. ",[2156,3067,1748],{"href":1749}," covers the trade-off properly.",[2053,3070,3071,3072,3074],{},"Bundle size is the other thing to watch. Modules fall into three groups, not two: build-time only (",[2062,3073,2297],{}," adds nothing to the output), server-only, and those that ship code to the browser. A storefront's first paint is a commercial metric, so check the build output rather than assuming which group a module is in.",[2095,3076,3078],{"id":3077},"why-there-is-nothing-to-permit","Why there is nothing to permit",[2053,3080,3081],{},"Worth closing the loop, because \"surely there's an approval step\" is the natural assumption.",[2053,3083,3084],{},"A theme declares how it is built in its own manifest:",[2187,3086,3091],{"className":3087,"code":3088,"filename":3089,"language":3090,"meta":2192,"style":2192},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"site\": {\n    \"framework\": \"nuxt\",\n    \"adapter\": \"ssr\",\n    \"installCommand\": \"npm install\",\n    \"buildCommand\": \"npm run build\",\n    \"outputDirectory\": \".output\"\n  }\n}\n","theme.json","json",[2062,3092,3093,3097,3112,3135,3155,3175,3194,3213,3218],{"__ignoreMap":2192},[2196,3094,3095],{"class":2198,"line":2199},[2196,3096,2218],{"class":2217},[2196,3098,3099,3102,3105,3108,3110],{"class":2198,"line":2221},[2196,3100,3101],{"class":2217},"  \"",[2196,3103,3104],{"class":2432},"site",[2196,3106,3107],{"class":2217},"\"",[2196,3109,2228],{"class":2217},[2196,3111,2436],{"class":2217},[2196,3113,3114,3117,3121,3123,3125,3128,3131,3133],{"class":2198,"line":2249},[2196,3115,3116],{"class":2217},"    \"",[2196,3118,3120],{"class":3119},"sBMFI","framework",[2196,3122,3107],{"class":2217},[2196,3124,2228],{"class":2217},[2196,3126,3127],{"class":2217}," \"",[2196,3129,3130],{"class":2237},"nuxt",[2196,3132,3107],{"class":2217},[2196,3134,2246],{"class":2217},[2196,3136,3137,3139,3142,3144,3146,3148,3151,3153],{"class":2198,"line":2256},[2196,3138,3116],{"class":2217},[2196,3140,3141],{"class":3119},"adapter",[2196,3143,3107],{"class":2217},[2196,3145,2228],{"class":2217},[2196,3147,3127],{"class":2217},[2196,3149,3150],{"class":2237},"ssr",[2196,3152,3107],{"class":2217},[2196,3154,2246],{"class":2217},[2196,3156,3157,3159,3162,3164,3166,3168,3171,3173],{"class":2198,"line":2267},[2196,3158,3116],{"class":2217},[2196,3160,3161],{"class":3119},"installCommand",[2196,3163,3107],{"class":2217},[2196,3165,2228],{"class":2217},[2196,3167,3127],{"class":2217},[2196,3169,3170],{"class":2237},"npm install",[2196,3172,3107],{"class":2217},[2196,3174,2246],{"class":2217},[2196,3176,3177,3179,3182,3184,3186,3188,3190,3192],{"class":2198,"line":2280},[2196,3178,3116],{"class":2217},[2196,3180,3181],{"class":3119},"buildCommand",[2196,3183,3107],{"class":2217},[2196,3185,2228],{"class":2217},[2196,3187,3127],{"class":2217},[2196,3189,2092],{"class":2237},[2196,3191,3107],{"class":2217},[2196,3193,2246],{"class":2217},[2196,3195,3196,3198,3201,3203,3205,3207,3210],{"class":2198,"line":2292},[2196,3197,3116],{"class":2217},[2196,3199,3200],{"class":3119},"outputDirectory",[2196,3202,3107],{"class":2217},[2196,3204,2228],{"class":2217},[2196,3206,3127],{"class":2217},[2196,3208,3209],{"class":2237},".output",[2196,3211,3212],{"class":2217},"\"\n",[2196,3214,3215],{"class":2198,"line":2304},[2196,3216,3217],{"class":2217},"  }\n",[2196,3219,3220],{"class":2198,"line":2316},[2196,3221,3222],{"class":2217},"}\n",[2053,3224,3225],{},"The platform installs your dependencies and runs your build command, then serves what your build produced. Your modules and plugins are inputs to that build, on the same footing as your components. There is no separate registry of permitted modules, because there is no point in the pipeline where one would be consulted.",[2053,3227,3228,3229,3232,3233,3235,3236,2585,3239,3242,3243,2159],{},"What the platform ",[2164,3230,3231],{},"does"," gate is in ",[2062,3234,3089],{}," too, and it's about data rather than code: ",[2062,3237,3238],{},"requires",[2062,3240,3241],{},"permissions"," declare the capabilities and entities your theme may reach. See ",[2156,3244,1706],{"href":1707},[2095,3246,3248],{"id":3247},"related","Related",[2357,3250,3251,3261,3267,3276,3281,3286],{},[2360,3252,3253,3255,3256,2585,3258,3260],{},[2156,3254,1724],{"href":1725}," — what ",[2062,3257,2238],{},[2062,3259,2576],{}," each contribute",[2360,3262,3263,3266],{},[2156,3264,3265],{"href":1743},"Overriding the base layer"," — file-path shadowing, and wrapping through deep imports",[2360,3268,3269,3271,3272,3275],{},[2156,3270,1730],{"href":1731}," — the dev loop, the ",[2062,3273,3274],{},"NUXT_*"," variables, and checking the production build",[2360,3277,3278,3280],{},[2156,3279,1748],{"href":1749}," — SSR versus static, and what a route rule costs you",[2360,3282,3283,3285],{},[2156,3284,1543],{"href":1544}," — what a deployed site receives at runtime",[2360,3287,3288,3290,3291,3293],{},[2156,3289,869],{"href":870}," — the same ",[2062,3292,2838],{}," configuration for an App",[3295,3296,3297],"style",{},"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}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":2192,"searchDepth":2221,"depth":2221,"links":3299},[3300,3301,3302,3305,3306,3307,3308,3309],{"id":2097,"depth":2221,"text":2098},{"id":2178,"depth":2221,"text":2179},{"id":2387,"depth":2221,"text":2388,"children":3303},[3304],{"id":2488,"depth":2249,"text":2489},{"id":2671,"depth":2221,"text":2672},{"id":2893,"depth":2221,"text":2894},{"id":2935,"depth":2221,"text":2936},{"id":3077,"depth":2221,"text":3078},{"id":3247,"depth":2221,"text":3248},"Add your own Nuxt modules and plugins to a theme — where they go, how they compose with the ones the base layers ship, why build-time configuration is not the same as runtime configuration, and why there is nothing to ask permission for.","md",null,{"status":3314},"published",{"title":1736},{"title":1736,"description":3310},{"loc":1737},"YO8Q2YZxjw2VE_aqRFcV2kt4obFlQJ0f83lCLWtkD10",1789752132106]