[{"data":1,"prerenderedAt":945},["ShallowReactive",2],{"navigation":3,"/extensions":259,"/extensions-surround":940},[4,16,56,104,140,151,235,239,243,247,251,255],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","/getting-started","1.getting-started",[9,12],{"title":10,"path":6,"stem":11},"Introduction","1.getting-started/index",{"title":13,"path":14,"stem":15},"Installation","/getting-started/installation","1.getting-started/1.installation",{"title":17,"path":18,"stem":19,"children":20},"Essentials","/essentials","2.essentials",[21,24,28,32,36,40,44,48,52],{"title":22,"path":18,"stem":23},"Core concepts","2.essentials/index",{"title":25,"path":26,"stem":27},"Routing","/essentials/routing","2.essentials/1.routing",{"title":29,"path":30,"stem":31},"Authentication","/essentials/authentication","2.essentials/2.authentication",{"title":33,"path":34,"stem":35},"Identity & User Store","/essentials/identity","2.essentials/3.identity",{"title":37,"path":38,"stem":39},"Requests & Responses","/essentials/requests-responses","2.essentials/4.requests-responses",{"title":41,"path":42,"stem":43},"Controllers","/essentials/controllers","2.essentials/5.controllers",{"title":45,"path":46,"stem":47},"Database","/essentials/database","2.essentials/6.database",{"title":49,"path":50,"stem":51},"Validation","/essentials/validation","2.essentials/7.validation",{"title":53,"path":54,"stem":55},"Migrations","/essentials/migrations","2.essentials/8.migrations",{"title":57,"path":58,"stem":59,"children":60},"Features","/features","3.features",[61,64,68,72,76,80,84,88,92,96,100],{"title":62,"path":58,"stem":63},"Built‑in Capabilities","3.features/index",{"title":65,"path":66,"stem":67},"Caching","/features/caching","3.features/caching",{"title":69,"path":70,"stem":71},"CORS & CSRF","/features/cors-csrf","3.features/cors-csrf",{"title":73,"path":74,"stem":75},"Distributed Locks","/features/distributed-locks","3.features/distributed-locks",{"title":77,"path":78,"stem":79},"Events & Listeners","/features/events","3.features/events",{"title":81,"path":82,"stem":83},"Field Selection","/features/field-selection","3.features/field-selection",{"title":85,"path":86,"stem":87},"File Uploads","/features/file-uploads","3.features/file-uploads",{"title":89,"path":90,"stem":91},"Notifications","/features/notifications","3.features/notifications",{"title":93,"path":94,"stem":95},"Queues & Jobs","/features/queues-jobs","3.features/queues-jobs",{"title":97,"path":98,"stem":99},"Rate Limiting","/features/rate-limiting","3.features/rate-limiting",{"title":101,"path":102,"stem":103},"Task Scheduling","/features/scheduling","3.features/scheduling",{"title":105,"path":106,"stem":107,"children":108},"Advanced","/advanced","4.advanced",[109,112,116,120,124,128,132,136],{"title":110,"path":106,"stem":111},"Techniques and Patterns","4.advanced/index",{"title":113,"path":114,"stem":115},"Configuration","/advanced/configuration","4.advanced/configuration",{"title":117,"path":118,"stem":119},"Dependency Injection","/advanced/dependency-injection","4.advanced/dependency-injection",{"title":121,"path":122,"stem":123},"Middleware","/advanced/middleware","4.advanced/middleware",{"title":125,"path":126,"stem":127},"Performance","/advanced/performance","4.advanced/performance",{"title":129,"path":130,"stem":131},"Repositories","/advanced/repositories","4.advanced/repositories",{"title":133,"path":134,"stem":135},"Service Providers","/advanced/service-providers","4.advanced/service-providers",{"title":137,"path":138,"stem":139},"Testing","/advanced/testing","4.advanced/testing",{"title":141,"path":142,"stem":143,"children":144},"Overview","/tooling","5.tooling",[145,147],{"title":141,"path":142,"stem":146},"5.tooling/index",{"title":148,"path":149,"stem":150},"AI Skills","/tooling/ai-skills","5.tooling/1.ai-skills",{"title":152,"path":153,"stem":154,"children":155},"Cookbook","/cookbook","6.cookbook",[156,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231],{"title":157,"path":153,"stem":158},"Recipes & How‑Tos","6.cookbook/index",{"title":160,"path":161,"stem":162},"Routing Recipes","/cookbook/routing","6.cookbook/1.routing",{"title":164,"path":165,"stem":166},"Caching Recipes","/cookbook/caching","6.cookbook/10.caching",{"title":168,"path":169,"stem":170},"Queue Infrastructure","/cookbook/queues-and-jobs","6.cookbook/11.queues-and-jobs",{"title":172,"path":173,"stem":174},"Notification Channels & Templates","/cookbook/notifications","6.cookbook/13.notifications",{"title":176,"path":177,"stem":178},"Storage","/cookbook/storage","6.cookbook/15.storage",{"title":180,"path":181,"stem":182},"Image Processing Examples","/cookbook/image-processing","6.cookbook/16.image-processing",{"title":184,"path":185,"stem":186},"Permissions and Authorization","/cookbook/permissions-and-authorization","6.cookbook/18.permissions-and-authorization",{"title":188,"path":189,"stem":190},"Session Analytics","/cookbook/sessions-analytics","6.cookbook/19.sessions-analytics",{"title":192,"path":193,"stem":194},"Writing Middleware","/cookbook/middleware","6.cookbook/2.middleware",{"title":196,"path":197,"stem":198},"API Metrics","/cookbook/api-metrics","6.cookbook/20.api-metrics",{"title":200,"path":201,"stem":202},"Performance Deep Dive","/cookbook/performance","6.cookbook/21.performance",{"title":204,"path":205,"stem":206},"Memory Management","/cookbook/memory-management","6.cookbook/22.memory-management",{"title":208,"path":209,"stem":210},"Writing Console Commands","/cookbook/console-commands","6.cookbook/23.console-commands",{"title":212,"path":213,"stem":214},"Glueful Extensions","/cookbook/extensions","6.cookbook/25.extensions",{"title":216,"path":217,"stem":218},"Error Handling Guide","/cookbook/error-handling","6.cookbook/4.error-handling",{"title":220,"path":221,"stem":222},"Security Guide","/cookbook/security","6.cookbook/5.security",{"title":224,"path":225,"stem":226},"Service Options Resolver","/cookbook/configuration","6.cookbook/6.configuration",{"title":228,"path":229,"stem":230},"Logging","/cookbook/logging","6.cookbook/7.logging",{"title":232,"path":233,"stem":234},"Database Advanced Features","/cookbook/database","6.cookbook/8.database",{"title":236,"path":237,"stem":238},"API Reference","/api-reference","7.api-reference",{"title":240,"path":241,"stem":242},"CLI Reference","/cli-reference","8.cli-reference",{"title":244,"path":245,"stem":246},"Extensions","/extensions","9.extensions",{"title":248,"path":249,"stem":250},"Contributing","/contributing","contributing",{"title":252,"path":253,"stem":254},"Release Notes","/releases","releases",{"title":256,"path":257,"stem":258},"Release Archive","/releases-archive","releases-archive",{"id":260,"title":244,"body":261,"description":933,"extension":934,"links":935,"meta":936,"navigation":937,"path":245,"seo":938,"stem":246,"__hash__":939},"docs/9.extensions.md",{"type":262,"value":263,"toc":931},"minimark",[264,377,763,802,927],[265,266,267,288,305,325],"u-page-section",{},[268,269,271],"template",{"v-slot:headline":270},"",[272,273,274],"p",{},[275,276,244],"span",{"className":277},[278,279,280,281,282,283,284,285,286,287],"block","w-full","text-left","font-mono","text-xs","font-medium","uppercase","tracking-widest","text-raspberry-600","dark:text-raspberry-400",[268,289,290],{"v-slot:title":270},[275,291,299,300,304],{"className":292},[278,279,280,293,294,295,296,297,298],"text-3xl","sm:text-4xl","lg:text-5xl","tracking-tight","font-semibold","text-highlighted","\n  Extend ",[275,301,303],{"className":302},[286],"Glueful"," without bloating the core\n",[268,306,307],{"v-slot:description":270},[308,309,315,316,320,321,324],"div",{"className":310},[278,279,280,311,312,313,314],"text-lg","text-gray-600","dark:text-gray-300","max-w-3xl","\n  Glueful keeps the framework lean and lets you add product-specific capabilities through extensions. Official packages are published as Composer packages of type ",[317,318,319],"code",{},"glueful-extension"," and can also be developed locally from the ",[317,322,323],{},"extensions/"," directory in your app.\n",[268,326,327,344,359],{"v-slot:features":270},[328,329,330,339],"u-page-feature",{},[268,331,332],{"v-slot:title":270},[272,333,334],{},[275,335,338],{"className":336},[337,286],"font-bold","Composer-Native",[268,340,341],{"v-slot:description":270},[308,342,343],{},"Install extensions with Composer, rebuild the extension cache, and keep your application modular as requirements grow.",[328,345,346,354],{},[268,347,348],{"v-slot:title":270},[272,349,350],{},[275,351,353],{"className":352},[337,286],"Auto-Discoverable",[268,355,356],{"v-slot:description":270},[308,357,358],{},"Glueful can discover extension packages and load their providers, routes, migrations, commands, and configuration through the extension system.",[328,360,361,369],{},[268,362,363],{"v-slot:title":270},[272,364,365],{},[275,366,368],{"className":367},[337,286],"Local Development Friendly",[268,370,371],{"v-slot:description":270},[308,372,373,374,376],{},"Develop and test local extensions from the repository or app-level ",[317,375,323],{}," directory before publishing packages.",[265,378,385,393,399],{"className":379},[380,381,382,383,384],"bg-gradient-to-b","from-gray-50/50","to-white","dark:from-gray-900/50","dark:to-gray-950",[268,386,387],{"v-slot:headline":270},[272,388,389],{},[275,390,392],{"className":391},[278,279,280,281,282,283,284,285,286,287],"Ecosystem",[268,394,395],{"v-slot:title":270},[275,396,398],{"className":397},[278,279,280,293,294,295,296,297,298],"\n  Official packages\n",[268,400,401,405],{"v-slot:description":270},[308,402,404],{"className":403},[278,279,280,311,312,313,314],"\n  These packages are part of the current Glueful ecosystem and cover common product needs that many API teams want to add without building them from scratch.\n",[308,406,420,480,502,524,546,568,590,612,634,656,678,699,721,742],{"className":407},[408,409,410,411,412,413,414,415,416,417,418,419],"mt-10","grid","grid-cols-1","gap-px","overflow-hidden","rounded-2xl","border","border-gray-300","bg-gray-300","dark:border-white/15","dark:bg-white/15","sm:grid-cols-2",[308,421,430,434,445,455],{"className":422},[423,424,425,426,427,280,428,429],"flex","min-h-72","flex-col","bg-white","p-10","dark:bg-gray-950","lg:p-12",[272,431,433],{"className":432},[281,282,284,285,286,287],"Identity",[435,436,444],"h3",{"className":437,"id":443},[438,439,283,296,440,441,442],"mt-4","text-2xl","text-gray-900","dark:text-white","lg:text-3xl","users","Users",[272,446,454],{"className":447},[438,448,449,450,451,452,453],"max-w-md","text-sm","leading-relaxed","text-gray-500","dark:text-gray-400","sm:text-base","The default first-party user store — accounts, verification, and optional 2FA.",[456,457,479],"a",{"href":458,"target":459,"rel":460,"className":462},"https://packagist.org/packages/glueful/users","_blank",[461],"noopener",[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"mt-auto","inline-flex","w-fit","items-center","rounded-md","border-gray-200","bg-gray-50","px-2.5","py-1","text-gray-700","transition-colors","hover:text-raspberry-600","dark:border-white/10","dark:bg-white/5","dark:text-gray-200","dark:hover:text-raspberry-400","glueful/users",[308,481,483,487,492,496],{"className":482},[423,424,425,426,427,280,428,429],[272,484,486],{"className":485},[281,282,284,285,286,287],"RBAC",[435,488,491],{"className":489,"id":490},[438,439,283,296,440,441,442],"aegis","Aegis",[272,493,495],{"className":494},[438,448,449,450,451,452,453],"Roles, permissions, and authorization for your API.",[456,497,501],{"href":498,"target":459,"rel":499,"className":500},"https://packagist.org/packages/glueful/aegis",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/aegis",[308,503,505,509,514,518],{"className":504},[423,424,425,426,427,280,428,429],[272,506,508],{"className":507},[281,282,284,285,286,287],"Multi-Tenancy",[435,510,513],{"className":511,"id":512},[438,439,283,296,440,441,442],"tenancy","Tenancy",[272,515,517],{"className":516},[438,448,449,450,451,452,453],"Row-level multi-tenancy — automatic per-tenant data isolation, memberships, and resolution.",[456,519,523],{"href":520,"target":459,"rel":521,"className":522},"https://packagist.org/packages/glueful/tenancy",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/tenancy",[308,525,527,531,536,540],{"className":526},[423,424,425,426,427,280,428,429],[272,528,530],{"className":529},[281,282,284,285,286,287],"OAuth / SSO",[435,532,535],{"className":533,"id":534},[438,439,283,296,440,441,442],"entrada","Entrada",[272,537,539],{"className":538},[438,448,449,450,451,452,453],"Social login and SSO via OAuth and OpenID Connect.",[456,541,545],{"href":542,"target":459,"rel":543,"className":544},"https://packagist.org/packages/glueful/entrada",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/entrada",[308,547,549,553,558,562],{"className":548},[423,424,425,426,427,280,428,429],[272,550,552],{"className":551},[281,282,284,285,286,287],"Email",[435,554,557],{"className":555,"id":556},[438,439,283,296,440,441,442],"email-notification","Email Notification",[272,559,561],{"className":560},[438,448,449,450,451,452,453],"Transactional email built on Symfony Mailer.",[456,563,567],{"href":564,"target":459,"rel":565,"className":566},"https://packagist.org/packages/glueful/email-notification",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/email-notification",[308,569,571,575,580,584],{"className":570},[423,424,425,426,427,280,428,429],[272,572,574],{"className":573},[281,282,284,285,286,287],"Push",[435,576,579],{"className":577,"id":578},[438,439,283,296,440,441,442],"notiva","Notiva",[272,581,583],{"className":582},[438,448,449,450,451,452,453],"Push notifications for FCM, APNs, and Web Push.",[456,585,589],{"href":586,"target":459,"rel":587,"className":588},"https://packagist.org/packages/glueful/notiva",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/notiva",[308,591,593,597,602,606],{"className":592},[423,424,425,426,427,280,428,429],[272,594,596],{"className":595},[281,282,284,285,286,287],"SMS / WhatsApp",[435,598,601],{"className":599,"id":600},[438,439,283,296,440,441,442],"conversa","Conversa",[272,603,605],{"className":604},[438,448,449,450,451,452,453],"SMS and WhatsApp messaging with swappable providers.",[456,607,611],{"href":608,"target":459,"rel":609,"className":610},"https://packagist.org/packages/glueful/conversa",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/conversa",[308,613,615,619,624,628],{"className":614},[423,424,425,426,427,280,428,429],[272,616,618],{"className":617},[281,282,284,285,286,287],"Search",[435,620,623],{"className":621,"id":622},[438,439,283,296,440,441,442],"meilisearch","Meilisearch",[272,625,627],{"className":626},[438,448,449,450,451,452,453],"Fast full-text search and indexing.",[456,629,633],{"href":630,"target":459,"rel":631,"className":632},"https://packagist.org/packages/glueful/meilisearch",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/meilisearch",[308,635,637,641,646,650],{"className":636},[423,424,425,426,427,280,428,429],[272,638,640],{"className":639},[281,282,284,285,286,287],"Payments",[435,642,645],{"className":643,"id":644},[438,439,283,296,440,441,442],"payvia","Payvia",[272,647,649],{"className":648},[438,448,449,450,451,452,453],"One payment API for Stripe, Paystack, and Flutterwave.",[456,651,655],{"href":652,"target":459,"rel":653,"className":654},"https://packagist.org/packages/glueful/payvia",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/payvia",[308,657,659,663,668,672],{"className":658},[423,424,425,426,427,280,428,429],[272,660,662],{"className":661},[281,282,284,285,286,287],"Runtime",[435,664,667],{"className":665,"id":666},[438,439,283,296,440,441,442],"runiva","Runiva",[272,669,671],{"className":670},[438,448,449,450,451,452,453],"Long-lived runtimes on RoadRunner, Swoole, or FrankenPHP.",[456,673,677],{"href":674,"target":459,"rel":675,"className":676},"https://packagist.org/packages/glueful/runiva",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/runiva",[308,679,681,685,689,693],{"className":680},[423,424,425,426,427,280,428,429],[272,682,684],{"className":683},[281,282,284,285,286,287],"Media",[435,686,684],{"className":687,"id":688},[438,439,283,296,440,441,442],"media",[272,690,692],{"className":691},[438,448,449,450,451,452,453],"Image processing, thumbnails, and media metadata (Intervention Image + getID3).",[456,694,698],{"href":695,"target":459,"rel":696,"className":697},"https://packagist.org/packages/glueful/media",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/media",[308,700,702,706,711,715],{"className":701},[423,424,425,426,427,280,428,429],[272,703,705],{"className":704},[281,282,284,285,286,287],"Edge Cache",[435,707,710],{"className":708,"id":709},[438,439,283,296,440,441,442],"cdn","CDN",[272,712,714],{"className":713},[438,448,449,450,451,452,453],"Edge cache-control headers and content purge via pluggable provider adapters.",[456,716,720],{"href":717,"target":459,"rel":718,"className":719},"https://packagist.org/packages/glueful/cdn",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/cdn",[308,722,724,728,732,736],{"className":723},[423,424,425,426,427,280,428,429],[272,725,727],{"className":726},[281,282,284,285,286,287],"Queue Ops",[435,729,727],{"className":730,"id":731},[438,439,283,296,440,441,442],"queue-ops",[272,733,735],{"className":734},[438,448,449,450,451,452,453],"Supervised worker fleets, autoscaling, and worker/job metrics.",[456,737,741],{"href":738,"target":459,"rel":739,"className":740},"https://packagist.org/packages/glueful/queue-ops",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/queue-ops",[308,743,745,749,753,757],{"className":744},[423,424,425,426,427,280,428,429],[272,746,748],{"className":747},[281,282,284,285,286,287],"Archive",[435,750,748],{"className":751,"id":752},[438,439,283,296,440,441,442],"archive",[272,754,756],{"className":755},[438,448,449,450,451,452,453],"Generic table archiving — archive, restore, and search with a registry.",[456,758,762],{"href":759,"target":459,"rel":760,"className":761},"https://packagist.org/packages/glueful/archive",[461],[463,464,465,466,467,414,468,469,470,471,281,282,472,473,474,475,476,477,478],"glueful/archive",[265,764,765,773,779,785],{},[268,766,767],{"v-slot:headline":270},[272,768,769],{},[275,770,772],{"className":771},[278,279,280,281,282,283,284,285,286,287],"Local development",[268,774,775],{"v-slot:title":270},[275,776,778],{"className":777},[278,279,280,293,294,295,296,297,298],"\n  Local and custom extensions\n",[268,780,781],{"v-slot:description":270},[308,782,784],{"className":783},[278,279,280,311,312,313,314],"\n  The local repository also includes extension packages used for active Glueful development and integration work.\n",[268,786,787],{"v-slot:features":270},[328,788,789,797],{},[268,790,791],{"v-slot:title":270},[272,792,793],{},[275,794,796],{"className":795},[337,286],"Build Your Own",[268,798,799],{"v-slot:description":270},[308,800,801],{},"Glueful's extension system supports local packages with providers, routes, config, migrations, and commands. See the extension cookbook page for creation and packaging details.",[265,803,804,809,854,857,906,910],{},[805,806,808],"h2",{"id":807},"install-an-extension","Install an extension",[810,811,815],"pre",{"className":812,"code":813,"language":814,"meta":270,"style":270},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark monokai","composer require glueful/aegis\nphp glueful extensions:cache\nphp glueful extensions:list\n","bash",[317,816,817,832,844],{"__ignoreMap":270},[275,818,821,825,829],{"class":819,"line":820},"line",1,[275,822,824],{"class":823},"sR7ES","composer",[275,826,828],{"class":827},"sLACW"," require",[275,830,831],{"class":827}," glueful/aegis\n",[275,833,835,838,841],{"class":819,"line":834},2,[275,836,837],{"class":823},"php",[275,839,840],{"class":827}," glueful",[275,842,843],{"class":827}," extensions:cache\n",[275,845,847,849,851],{"class":819,"line":846},3,[275,848,837],{"class":823},[275,850,840],{"class":827},[275,852,853],{"class":827}," extensions:list\n",[272,855,856],{},"For local development or explicit enable/disable flows, you can also use:",[810,858,860],{"className":812,"code":859,"language":814,"meta":270,"style":270},"php glueful extensions:enable Aegis\nphp glueful extensions:disable Aegis\nphp glueful extensions:info Aegis\nphp glueful extensions:summary\n",[317,861,862,874,885,896],{"__ignoreMap":270},[275,863,864,866,868,871],{"class":819,"line":820},[275,865,837],{"class":823},[275,867,840],{"class":827},[275,869,870],{"class":827}," extensions:enable",[275,872,873],{"class":827}," Aegis\n",[275,875,876,878,880,883],{"class":819,"line":834},[275,877,837],{"class":823},[275,879,840],{"class":827},[275,881,882],{"class":827}," extensions:disable",[275,884,873],{"class":827},[275,886,887,889,891,894],{"class":819,"line":846},[275,888,837],{"class":823},[275,890,840],{"class":827},[275,892,893],{"class":827}," extensions:info",[275,895,873],{"class":827},[275,897,899,901,903],{"class":819,"line":898},4,[275,900,837],{"class":823},[275,902,840],{"class":827},[275,904,905],{"class":827}," extensions:summary\n",[805,907,909],{"id":908},"related-docs","Related docs",[911,912,913,919,923],"ul",{},[914,915,916],"li",{},[456,917,918],{"href":213},"Cookbook: Extensions",[914,920,921],{},[456,922,5],{"href":6},[914,924,925],{},[456,926,240],{"href":241},[928,929,930],"style",{},"html pre.shiki code .sR7ES, html code.shiki .sR7ES{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sLACW, html code.shiki .sLACW{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}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 .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":270,"searchDepth":820,"depth":834,"links":932},[],"Official Glueful extensions for identity/accounts, RBAC, multi-tenancy, SSO, email, push, SMS/WhatsApp, search, payments, and runtime integrations.","md",null,{},true,{"title":244,"description":933},"NpzBO6qffums-0dI7Wfb2ss-3m1wrOEL_HxgR7UjoSM",[941,943],{"title":240,"path":241,"stem":242,"description":942,"children":-1},"Reference for common Glueful CLI commands",{"title":248,"path":249,"stem":250,"description":944,"children":-1},"Contribute to Glueful framework",1780958511191]