[{"data":1,"prerenderedAt":486},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fpackages":176,"\u002Fdocs\u002Fpackages-surround":481},[4,21,86,158],{"title":5,"path":6,"stem":7,"children":8,"status":11,"icon":20},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[9,12,16],{"title":10,"path":6,"stem":7,"status":11},"Introduction",null,{"title":13,"path":14,"stem":15,"status":11},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","1.docs\u002F1.getting-started\u002F2.installation",{"title":17,"path":18,"stem":19,"status":11},"Quick Start","\u002Fdocs\u002Fgetting-started\u002Fquick-start","1.docs\u002F1.getting-started\u002F3.quick-start",false,{"title":22,"path":23,"stem":24,"children":25,"status":11,"icon":20},"Core Concepts","\u002Fdocs\u002Fcore-concepts","1.docs\u002F2.core-concepts\u002F1.index",[26,28,32,36,46,50,54,58,62,66,70,74,78,82],{"title":27,"path":23,"stem":24,"status":11},"Overview",{"title":29,"path":30,"stem":31,"status":11},"Response","\u002Fdocs\u002Fcore-concepts\u002Fresponse","1.docs\u002F2.core-concepts\u002F10.response",{"title":33,"path":34,"stem":35,"status":11},"Testing","\u002Fdocs\u002Fcore-concepts\u002Ftesting","1.docs\u002F2.core-concepts\u002F12.testing",{"title":37,"path":38,"stem":39,"children":40,"status":11,"icon":20,"defaultOpen":20},"Decorators","\u002Fdocs\u002Fcore-concepts\u002Fdecorators","1.docs\u002F2.core-concepts\u002F13.decorators\u002F1.index",[41,42],{"title":27,"path":38,"stem":39,"status":11},{"title":43,"path":44,"stem":45,"status":11},"Custom","\u002Fdocs\u002Fcore-concepts\u002Fdecorators\u002Fcustom","1.docs\u002F2.core-concepts\u002F13.decorators\u002F2.custom",{"title":47,"path":48,"stem":49,"status":11},"Discovery Service","\u002Fdocs\u002Fcore-concepts\u002Fdiscovery","1.docs\u002F2.core-concepts\u002F14.discovery",{"title":51,"path":52,"stem":53,"status":11},"Application Lifecycle","\u002Fdocs\u002Fcore-concepts\u002Fapp-lifecycle","1.docs\u002F2.core-concepts\u002F15.app-lifecycle",{"title":55,"path":56,"stem":57,"status":11},"Controllers","\u002Fdocs\u002Fcore-concepts\u002Fcontrollers","1.docs\u002F2.core-concepts\u002F2.controllers",{"title":59,"path":60,"stem":61,"status":11},"Routing","\u002Fdocs\u002Fcore-concepts\u002Frouting","1.docs\u002F2.core-concepts\u002F3.routing",{"title":63,"path":64,"stem":65,"status":11},"Providers","\u002Fdocs\u002Fcore-concepts\u002Fproviders","1.docs\u002F2.core-concepts\u002F4.providers",{"title":67,"path":68,"stem":69,"status":11},"Modules","\u002Fdocs\u002Fcore-concepts\u002Fmodules","1.docs\u002F2.core-concepts\u002F5.modules",{"title":71,"path":72,"stem":73,"status":11},"Configuration","\u002Fdocs\u002Fcore-concepts\u002Fconfiguration","1.docs\u002F2.core-concepts\u002F6.configuration",{"title":75,"path":76,"stem":77,"status":11},"Middleware","\u002Fdocs\u002Fcore-concepts\u002Fmiddleware","1.docs\u002F2.core-concepts\u002F7.middleware",{"title":79,"path":80,"stem":81,"status":11},"Guards","\u002Fdocs\u002Fcore-concepts\u002Fguards","1.docs\u002F2.core-concepts\u002F8.guards",{"title":83,"path":84,"stem":85,"status":11},"Exceptions","\u002Fdocs\u002Fcore-concepts\u002Fexceptions","1.docs\u002F2.core-concepts\u002F9.exceptions",{"title":87,"path":88,"stem":89,"children":90,"status":11,"icon":20},"Packages","\u002Fdocs\u002Fpackages","1.docs\u002F3.packages\u002F1.index",[91,92,97,108,112,130,134,138,142,146,150,154],{"title":27,"path":88,"stem":89,"status":11},{"title":93,"path":94,"stem":95,"status":96},"CLI","\u002Fdocs\u002Fpackages\u002Fcli","1.docs\u002F3.packages\u002F10.cli","experimental",{"title":98,"path":99,"stem":100,"children":101,"status":11,"icon":20,"defaultOpen":20},"Events","\u002Fdocs\u002Fpackages\u002Fmessaging","1.docs\u002F3.packages\u002F11.messaging\u002F1.index",[102,104],{"title":27,"path":99,"stem":100,"status":103},"beta",{"title":105,"path":106,"stem":107,"status":96},"Redis","\u002Fdocs\u002Fpackages\u002Fmessaging\u002Fredis","1.docs\u002F3.packages\u002F11.messaging\u002F2.redis",{"title":109,"path":110,"stem":111,"status":103},"Serve Static","\u002Fdocs\u002Fpackages\u002Fserve-static","1.docs\u002F3.packages\u002F12.serve-static",{"title":113,"path":114,"stem":115,"children":116,"status":11,"icon":20,"defaultOpen":20},"Auth","\u002Fdocs\u002Fpackages\u002Fauth","1.docs\u002F3.packages\u002F2.auth\u002F1.index",[117,118,122,126],{"title":27,"path":114,"stem":115,"status":103},{"title":119,"path":120,"stem":121,"status":103},"JWT Provider","\u002Fdocs\u002Fpackages\u002Fauth\u002Fjwt","1.docs\u002F3.packages\u002F2.auth\u002F2.jwt",{"title":123,"path":124,"stem":125,"status":103},"Local Provider","\u002Fdocs\u002Fpackages\u002Fauth\u002Flocal","1.docs\u002F3.packages\u002F2.auth\u002F3.local",{"title":127,"path":128,"stem":129,"status":96},"OAuth2 Provider","\u002Fdocs\u002Fpackages\u002Fauth\u002Foauth2","1.docs\u002F3.packages\u002F2.auth\u002F4.oauth2",{"title":131,"path":132,"stem":133,"status":103},"JWT","\u002Fdocs\u002Fpackages\u002Fjwt","1.docs\u002F3.packages\u002F3.jwt",{"title":135,"path":136,"stem":137,"status":103},"Drizzle","\u002Fdocs\u002Fpackages\u002Fdrizzle","1.docs\u002F3.packages\u002F4.drizzle",{"title":139,"path":140,"stem":141,"status":103},"Papr","\u002Fdocs\u002Fpackages\u002Fpapr","1.docs\u002F3.packages\u002F5.papr",{"title":143,"path":144,"stem":145,"status":103},"Mongoose","\u002Fdocs\u002Fpackages\u002Fmongoose","1.docs\u002F3.packages\u002F6.mongoose",{"title":147,"path":148,"stem":149,"status":103},"Swagger","\u002Fdocs\u002Fpackages\u002Fswagger","1.docs\u002F3.packages\u002F7.swagger",{"title":151,"path":152,"stem":153,"status":103},"Node Server","\u002Fdocs\u002Fpackages\u002Fnode-server","1.docs\u002F3.packages\u002F8.node-server",{"title":155,"path":156,"stem":157,"status":103},"uWS Server","\u002Fdocs\u002Fpackages\u002Fuws-server","1.docs\u002F3.packages\u002F9.uws-server",{"title":159,"path":160,"stem":161,"children":162,"status":11,"icon":20},"Roadmap","\u002Fdocs\u002Froadmap","1.docs\u002F4.roadmap\u002F1.index",[163,164,168,172],{"title":27,"path":160,"stem":161,"status":11},{"title":165,"path":166,"stem":167,"status":11},"Short term (0-3 months)","\u002Fdocs\u002Froadmap\u002Fshort-term","1.docs\u002F4.roadmap\u002F2.short-term",{"title":169,"path":170,"stem":171,"status":11},"Mid term (3-9 months)","\u002Fdocs\u002Froadmap\u002Fmid-term","1.docs\u002F4.roadmap\u002F3.mid-term",{"title":173,"path":174,"stem":175,"status":11},"Long term (9-12+ months)","\u002Fdocs\u002Froadmap\u002Flong-term","1.docs\u002F4.roadmap\u002F4.long-term",{"id":177,"title":27,"body":178,"description":475,"extension":476,"meta":477,"navigation":478,"path":88,"seo":479,"status":11,"stem":89,"__hash__":480},"docs\u002F1.docs\u002F3.packages\u002F1.index.md",{"type":179,"value":180,"toc":464},"minimark",[181,185,190,236,239,243,267,270,314,318,366,370,408,412,436,440],[182,183,184],"p",{},"MiiaJS is modular - install only what you need.",[186,187,189],"h2",{"id":188},"server-adapters","Server adapters",[191,192,193,206],"table",{},[194,195,196],"thead",{},[197,198,199,203],"tr",{},[200,201,202],"th",{},"Package",[200,204,205],{},"Description",[207,208,209,224],"tbody",{},[197,210,211,221],{},[212,213,214],"td",{},[215,216,217],"a",{"href":152},[218,219,220],"code",{},"@miiajs\u002Fnode-server",[212,222,223],{},"Node.js HTTP server adapter",[197,225,226,233],{},[212,227,228],{},[215,229,230],{"href":156},[218,231,232],{},"@miiajs\u002Fuws-server",[212,234,235],{},"uWebSockets.js HTTP server adapter",[182,237,238],{},"Bun and Deno are supported out of the box - no adapter needed.",[186,240,242],{"id":241},"static-files","Static files",[191,244,245,253],{},[194,246,247],{},[197,248,249,251],{},[200,250,202],{},[200,252,205],{},[207,254,255],{},[197,256,257,264],{},[212,258,259],{},[215,260,261],{"href":110},[218,262,263],{},"@miiajs\u002Fserve-static",[212,265,266],{},"Static file serving with Range, ETag, charset, SPA fallback",[186,268,113],{"id":269},"auth",[191,271,272,280],{},[194,273,274],{},[197,275,276,278],{},[200,277,202],{},[200,279,205],{},[207,281,282,302],{},[197,283,284,291],{},[212,285,286],{},[215,287,288],{"href":114},[218,289,290],{},"@miiajs\u002Fauth",[212,292,293,294,297,298,301],{},"Auth primitives - ",[218,295,296],{},"AuthProvider",", ",[218,299,300],{},"AuthGuard",", token extractors",[197,303,304,311],{},[212,305,306],{},[215,307,308],{"href":132},[218,309,310],{},"@miiajs\u002Fjwt",[212,312,313],{},"Injectable JWT sign\u002Fverify service (jose wrapper)",[186,315,317],{"id":316},"database","Database",[191,319,320,328],{},[194,321,322],{},[197,323,324,326],{},[200,325,202],{},[200,327,205],{},[207,329,330,342,354],{},[197,331,332,339],{},[212,333,334],{},[215,335,336],{"href":136},[218,337,338],{},"@miiajs\u002Fdrizzle",[212,340,341],{},"Drizzle ORM integration (PostgreSQL, MySQL, SQLite)",[197,343,344,351],{},[212,345,346],{},[215,347,348],{"href":144},[218,349,350],{},"@miiajs\u002Fmongoose",[212,352,353],{},"MongoDB integration via Mongoose with injectable models",[197,355,356,363],{},[212,357,358],{},[215,359,360],{"href":140},[218,361,362],{},"@miiajs\u002Fpapr",[212,364,365],{},"MongoDB integration via Papr",[186,367,369],{"id":368},"messaging","Messaging",[191,371,372,380],{},[194,373,374],{},[197,375,376,378],{},[200,377,202],{},[200,379,205],{},[207,381,382,394],{},[197,383,384,391],{},[212,385,386],{},[215,387,388],{"href":99},[218,389,390],{},"@miiajs\u002Fmessaging",[212,392,393],{},"Decorator-driven event bus with retry, DLQ, pluggable transports",[197,395,396,403],{},[212,397,398],{},[215,399,400],{"href":106},[218,401,402],{},"@miiajs\u002Fmessaging-redis",[212,404,405,406],{},"Redis Streams transport for ",[218,407,390],{},[186,409,411],{"id":410},"api-documentation","API Documentation",[191,413,414,422],{},[194,415,416],{},[197,417,418,420],{},[200,419,202],{},[200,421,205],{},[207,423,424],{},[197,425,426,433],{},[212,427,428],{},[215,429,430],{"href":148},[218,431,432],{},"@miiajs\u002Fswagger",[212,434,435],{},"OpenAPI 3.1 spec generation and Swagger UI",[186,437,439],{"id":438},"tooling","Tooling",[191,441,442,450],{},[194,443,444],{},[197,445,446,448],{},[200,447,202],{},[200,449,205],{},[207,451,452],{},[197,453,454,461],{},[212,455,456],{},[215,457,458],{"href":94},[218,459,460],{},"@miiajs\u002Fcli",[212,462,463],{},"CLI for dev, build, start, check, and project scaffolding",{"title":465,"searchDepth":466,"depth":466,"links":467},"",2,[468,469,470,471,472,473,474],{"id":188,"depth":466,"text":189},{"id":241,"depth":466,"text":242},{"id":269,"depth":466,"text":113},{"id":316,"depth":466,"text":317},{"id":368,"depth":466,"text":369},{"id":410,"depth":466,"text":411},{"id":438,"depth":466,"text":439},"Official MiiaJS packages for auth, databases, API docs, server adapters, and CLI.","md",{},true,{"title":27,"description":475},"EN8Z0bd_p-WKjfpxQ9aB7pwFgCh_uPmkLl1peBR0LTs",[482,484],{"title":83,"path":84,"stem":85,"description":483,"children":-1},"Handle errors with structured HTTP exception classes.",{"title":93,"path":94,"stem":95,"description":485,"children":-1},"Dev server, build, code generation, project scaffolding, and more.",1778575272181]