[{"data":1,"prerenderedAt":638},["ShallowReactive",2],{"navigation":3,"index":375},[4,14,63],{"title":5,"path":6,"stem":7,"children":8,"page":13},"Cli","\u002Fcli","cli",[9],{"title":10,"path":11,"stem":12},"Create LaraNode","\u002Fcli\u002Fcreate-laranode","cli\u002Fcreate-laranode",false,{"title":15,"path":16,"stem":17,"children":18,"page":13},"Guide","\u002Fguide","guide",[19,23,27,31,35,39,43,47,51,55,59],{"title":20,"path":21,"stem":22},"Configuration","\u002Fguide\u002Fconfiguration","guide\u002Fconfiguration",{"title":24,"path":25,"stem":26},"Dependency Injection","\u002Fguide\u002Fdependency-injection","guide\u002Fdependency-injection",{"title":28,"path":29,"stem":30},"Facades","\u002Fguide\u002Ffacades","guide\u002Ffacades",{"title":32,"path":33,"stem":34},"Getting Started","\u002Fguide\u002Fgetting-started","guide\u002Fgetting-started",{"title":36,"path":37,"stem":38},"Installation","\u002Fguide\u002Finstallation","guide\u002Finstallation",{"title":40,"path":41,"stem":42},"Introduction","\u002Fguide\u002Fintroduction","guide\u002Fintroduction",{"title":44,"path":45,"stem":46},"MCP & AI Integration","\u002Fguide\u002Fmcp-integration","guide\u002Fmcp-integration",{"title":48,"path":49,"stem":50},"Middleware","\u002Fguide\u002Fmiddleware","guide\u002Fmiddleware",{"title":52,"path":53,"stem":54},"Project Structure","\u002Fguide\u002Fproject-structure","guide\u002Fproject-structure",{"title":56,"path":57,"stem":58},"Service Providers","\u002Fguide\u002Fservice-providers","guide\u002Fservice-providers",{"title":60,"path":61,"stem":62},"Agent Skills","\u002Fguide\u002Fskills","guide\u002Fskills",{"title":64,"path":65,"stem":66,"children":67,"page":13},"Packages","\u002Fpackages","packages",[68,89,102,127,140,165,202,223,244,257,274,287,308,341,354],{"title":69,"path":70,"stem":71,"children":72},"Auth Package","\u002Fpackages\u002Fauth","packages\u002Fauth",[73,77,81,85],{"title":74,"path":75,"stem":76},"Token Encryption","\u002Fpackages\u002Fauth\u002Fencryption","packages\u002Fauth\u002Fencryption",{"title":78,"path":79,"stem":80},"Auth Middleware","\u002Fpackages\u002Fauth\u002Fmiddleware","packages\u002Fauth\u002Fmiddleware",{"title":82,"path":83,"stem":84},"Password Hashing","\u002Fpackages\u002Fauth\u002Fpasswords","packages\u002Fauth\u002Fpasswords",{"title":86,"path":87,"stem":88},"Token Generation","\u002Fpackages\u002Fauth\u002Ftokens","packages\u002Fauth\u002Ftokens",{"title":90,"path":91,"stem":92,"children":93},"Cache Package","\u002Fpackages\u002Fcache","packages\u002Fcache",[94,98],{"title":95,"path":96,"stem":97},"Cache Drivers","\u002Fpackages\u002Fcache\u002Fdrivers","packages\u002Fcache\u002Fdrivers",{"title":99,"path":100,"stem":101},"Rate Limiting","\u002Fpackages\u002Fcache\u002Frate-limiting","packages\u002Fcache\u002Frate-limiting",{"title":103,"path":104,"stem":105,"children":106},"Carbon Package","\u002Fpackages\u002Fcarbon","packages\u002Fcarbon",[107,111,115,119,123],{"title":108,"path":109,"stem":110},"Date Comparison","\u002Fpackages\u002Fcarbon\u002Fcomparison","packages\u002Fcarbon\u002Fcomparison",{"title":112,"path":113,"stem":114},"Creating Dates","\u002Fpackages\u002Fcarbon\u002Fcreating","packages\u002Fcarbon\u002Fcreating",{"title":116,"path":117,"stem":118},"Date Formatting","\u002Fpackages\u002Fcarbon\u002Fformatting","packages\u002Fcarbon\u002Fformatting",{"title":120,"path":121,"stem":122},"Intervals & Periods","\u002Fpackages\u002Fcarbon\u002Fintervals","packages\u002Fcarbon\u002Fintervals",{"title":124,"path":125,"stem":126},"Date Manipulation","\u002Fpackages\u002Fcarbon\u002Fmanipulation","packages\u002Fcarbon\u002Fmanipulation",{"title":128,"path":129,"stem":130,"children":131},"Console Package","\u002Fpackages\u002Fconsole","packages\u002Fconsole",[132,136],{"title":133,"path":134,"stem":135},"Built-in Commands","\u002Fpackages\u002Fconsole\u002Fbuilt-in","packages\u002Fconsole\u002Fbuilt-in",{"title":137,"path":138,"stem":139},"Writing Commands","\u002Fpackages\u002Fconsole\u002Fcommands","packages\u002Fconsole\u002Fcommands",{"title":141,"path":142,"stem":143,"children":144},"Core Package","\u002Fpackages\u002Fcore","packages\u002Fcore",[145,149,153,157,161],{"title":146,"path":147,"stem":148},"Application","\u002Fpackages\u002Fcore\u002Fapplication","packages\u002Fcore\u002Fapplication",{"title":150,"path":151,"stem":152},"Configuration (Core)","\u002Fpackages\u002Fcore\u002Fconfig","packages\u002Fcore\u002Fconfig",{"title":154,"path":155,"stem":156},"IoC Container","\u002Fpackages\u002Fcore\u002Fcontainer","packages\u002Fcore\u002Fcontainer",{"title":158,"path":159,"stem":160},"Form Request","\u002Fpackages\u002Fcore\u002Frequest","packages\u002Fcore\u002Frequest",{"title":162,"path":163,"stem":164},"Service Providers (Core)","\u002Fpackages\u002Fcore\u002Fservice-providers","packages\u002Fcore\u002Fservice-providers",{"title":166,"path":167,"stem":168,"children":169},"Database Package","\u002Fpackages\u002Fdb","packages\u002Fdb",[170,174,178,182,186,190,194,198],{"title":171,"path":172,"stem":173},"DB Facade","\u002Fpackages\u002Fdb\u002Ffacade","packages\u002Fdb\u002Ffacade",{"title":175,"path":176,"stem":177},"Migrations","\u002Fpackages\u002Fdb\u002Fmigrations","packages\u002Fdb\u002Fmigrations",{"title":179,"path":180,"stem":181},"Models","\u002Fpackages\u002Fdb\u002Fmodels","packages\u002Fdb\u002Fmodels",{"title":183,"path":184,"stem":185},"Observers","\u002Fpackages\u002Fdb\u002Fobservers","packages\u002Fdb\u002Fobservers",{"title":187,"path":188,"stem":189},"Query Builder","\u002Fpackages\u002Fdb\u002Fquery-builder","packages\u002Fdb\u002Fquery-builder",{"title":191,"path":192,"stem":193},"Relationships","\u002Fpackages\u002Fdb\u002Frelationships","packages\u002Fdb\u002Frelationships",{"title":195,"path":196,"stem":197},"Seeders","\u002Fpackages\u002Fdb\u002Fseeders","packages\u002Fdb\u002Fseeders",{"title":199,"path":200,"stem":201},"Traits","\u002Fpackages\u002Fdb\u002Ftraits","packages\u002Fdb\u002Ftraits",{"title":203,"path":204,"stem":205,"children":206},"Events Package","\u002Fpackages\u002Fevents","packages\u002Fevents",[207,211,215,219],{"title":208,"path":209,"stem":210},"Broadcasting","\u002Fpackages\u002Fevents\u002Fbroadcasting","packages\u002Fevents\u002Fbroadcasting",{"title":212,"path":213,"stem":214},"Event Listeners","\u002Fpackages\u002Fevents\u002Flisteners","packages\u002Fevents\u002Flisteners",{"title":216,"path":217,"stem":218},"Queueable Listeners","\u002Fpackages\u002Fevents\u002Fqueueable","packages\u002Fevents\u002Fqueueable",{"title":220,"path":221,"stem":222},"Event Subscribers","\u002Fpackages\u002Fevents\u002Fsubscribers","packages\u002Fevents\u002Fsubscribers",{"title":224,"path":225,"stem":226,"children":227},"Exports Package","\u002Fpackages\u002Fexports","packages\u002Fexports",[228,232,236,240],{"title":229,"path":230,"stem":231},"CSV Export","\u002Fpackages\u002Fexports\u002Fcsv","packages\u002Fexports\u002Fcsv",{"title":233,"path":234,"stem":235},"Excel Export","\u002Fpackages\u002Fexports\u002Fexcel","packages\u002Fexports\u002Fexcel",{"title":237,"path":238,"stem":239},"PDF Export","\u002Fpackages\u002Fexports\u002Fpdf","packages\u002Fexports\u002Fpdf",{"title":241,"path":242,"stem":243},"Templates","\u002Fpackages\u002Fexports\u002Ftemplates","packages\u002Fexports\u002Ftemplates",{"title":245,"path":246,"stem":247,"children":248},"Horizon Package","\u002Fpackages\u002Fhorizon","packages\u002Fhorizon",[249,253],{"title":250,"path":251,"stem":252},"Horizon Configuration","\u002Fpackages\u002Fhorizon\u002Fconfiguration","packages\u002Fhorizon\u002Fconfiguration",{"title":254,"path":255,"stem":256},"Horizon Dashboard","\u002Fpackages\u002Fhorizon\u002Fdashboard","packages\u002Fhorizon\u002Fdashboard",{"title":258,"path":259,"stem":260,"children":261},"Mail Package","\u002Fpackages\u002Fmail","packages\u002Fmail",[262,266,270],{"title":263,"path":264,"stem":265},"Mail Drivers","\u002Fpackages\u002Fmail\u002Fdrivers","packages\u002Fmail\u002Fdrivers",{"title":267,"path":268,"stem":269},"Mailables","\u002Fpackages\u002Fmail\u002Fmailables","packages\u002Fmail\u002Fmailables",{"title":271,"path":272,"stem":273},"Queued Mail","\u002Fpackages\u002Fmail\u002Fqueued","packages\u002Fmail\u002Fqueued",{"title":275,"path":276,"stem":277,"children":278},"Middlewares Package","\u002Fpackages\u002Fmiddlewares","packages\u002Fmiddlewares",[279,283],{"title":280,"path":281,"stem":282},"Auth & Authorization Middleware","\u002Fpackages\u002Fmiddlewares\u002Fauth","packages\u002Fmiddlewares\u002Fauth",{"title":284,"path":285,"stem":286},"Built-in Middleware","\u002Fpackages\u002Fmiddlewares\u002Fbuilt-in","packages\u002Fmiddlewares\u002Fbuilt-in",{"title":288,"path":289,"stem":290,"children":291},"Queue Package","\u002Fpackages\u002Fqueue","packages\u002Fqueue",[292,296,300,304],{"title":293,"path":294,"stem":295},"Failed Jobs","\u002Fpackages\u002Fqueue\u002Ffailed-jobs","packages\u002Fqueue\u002Ffailed-jobs",{"title":297,"path":298,"stem":299},"Jobs","\u002Fpackages\u002Fqueue\u002Fjobs","packages\u002Fqueue\u002Fjobs",{"title":301,"path":302,"stem":303},"Task Scheduler","\u002Fpackages\u002Fqueue\u002Fscheduler","packages\u002Fqueue\u002Fscheduler",{"title":305,"path":306,"stem":307},"Queue Workers","\u002Fpackages\u002Fqueue\u002Fworkers","packages\u002Fqueue\u002Fworkers",{"title":309,"path":310,"stem":311,"children":312},"Router Package","\u002Fpackages\u002Frouter","packages\u002Frouter",[313,317,321,325,329,333,337],{"title":314,"path":315,"stem":316},"Basic Routing","\u002Fpackages\u002Frouter\u002Fbasic","packages\u002Frouter\u002Fbasic",{"title":318,"path":319,"stem":320},"Controllers","\u002Fpackages\u002Frouter\u002Fcontrollers","packages\u002Frouter\u002Fcontrollers",{"title":322,"path":323,"stem":324},"Route Groups","\u002Fpackages\u002Frouter\u002Fgroups","packages\u002Frouter\u002Fgroups",{"title":326,"path":327,"stem":328},"Route Middleware","\u002Fpackages\u002Frouter\u002Fmiddleware","packages\u002Frouter\u002Fmiddleware",{"title":330,"path":331,"stem":332},"Route Model Binding","\u002Fpackages\u002Frouter\u002Fmodel-binding","packages\u002Frouter\u002Fmodel-binding",{"title":334,"path":335,"stem":336},"OpenAPI Generation","\u002Fpackages\u002Frouter\u002Fopenapi","packages\u002Frouter\u002Fopenapi",{"title":338,"path":339,"stem":340},"Resource Routes","\u002Fpackages\u002Frouter\u002Fresource","packages\u002Frouter\u002Fresource",{"title":342,"path":343,"stem":344,"children":345},"Telescope Package","\u002Fpackages\u002Ftelescope","packages\u002Ftelescope",[346,350],{"title":347,"path":348,"stem":349},"Telescope Configuration","\u002Fpackages\u002Ftelescope\u002Fconfiguration","packages\u002Ftelescope\u002Fconfiguration",{"title":351,"path":352,"stem":353},"Telescope Watchers","\u002Fpackages\u002Ftelescope\u002Fwatchers","packages\u002Ftelescope\u002Fwatchers",{"title":355,"path":356,"stem":357,"children":358},"Validator Package","\u002Fpackages\u002Fvalidator","packages\u002Fvalidator",[359,363,367,371],{"title":360,"path":361,"stem":362},"Basic Validation","\u002Fpackages\u002Fvalidator\u002Fbasic","packages\u002Fvalidator\u002Fbasic",{"title":364,"path":365,"stem":366},"Custom Rules","\u002Fpackages\u002Fvalidator\u002Fcustom-rules","packages\u002Fvalidator\u002Fcustom-rules",{"title":368,"path":369,"stem":370},"Error Messages","\u002Fpackages\u002Fvalidator\u002Fmessages","packages\u002Fvalidator\u002Fmessages",{"title":372,"path":373,"stem":374},"Validation Rules","\u002Fpackages\u002Fvalidator\u002Frules","packages\u002Fvalidator\u002Frules",{"id":376,"title":377,"body":378,"description":388,"extension":632,"meta":633,"navigation":13,"path":634,"seo":635,"stem":636,"__hash__":637},"landing\u002Findex.md","LaraNode Framework",{"type":379,"value":380,"toc":615},"minimark",[381,385,389,392,395,399,424,428,450,452,457,489,493,507,511,537,541,555,559,573,577,585,587,591],[382,383,377],"h1",{"id":384},"laranode-framework",[386,387,388],"p",{},"A modern Node.js framework inspired by Laravel's elegance, built for TypeScript.",[386,390,391],{},"Get started in minutes and build expressive, scalable applications with an intuitive API.",[393,394],"hr",{},[396,397,32],"h2",{"id":398},"getting-started",[400,401,402,409,414,419],"ul",{},[403,404,405,408],"li",{},[406,407,40],"a",{"href":41}," — Learn about LaraNode",[403,410,411,413],{},[406,412,36],{"href":37}," — Install LaraNode in your project",[403,415,416,418],{},[406,417,52],{"href":53}," — Understand the directory layout",[403,420,421,423],{},[406,422,20],{"href":21}," — Configure your application",[396,425,427],{"id":426},"core-concepts","Core Concepts",[400,429,430,435,440,445],{},[403,431,432,434],{},[406,433,56],{"href":57}," — Modular configuration system",[403,436,437,439],{},[406,438,24],{"href":25}," — IoC container",[403,441,442,444],{},[406,443,48],{"href":49}," — HTTP request filtering",[403,446,447,449],{},[406,448,28],{"href":29}," — Static-like interfaces",[396,451,64],{"id":66},[453,454,456],"h3",{"id":455},"foundation","Foundation",[400,458,459,465,471,477,483],{},[403,460,461,464],{},[406,462,463],{"href":142},"@lara-node\u002Fcore"," — IoC container, Application, Service Providers",[403,466,467,470],{},[406,468,469],{"href":167},"@lara-node\u002Fdb"," — Eloquent ORM with MySQL & MongoDB support",[403,472,473,476],{},[406,474,475],{"href":310},"@lara-node\u002Frouter"," — Expressive routing with controllers & middleware",[403,478,479,482],{},[406,480,481],{"href":356},"@lara-node\u002Fvalidator"," — 50+ validation rules",[403,484,485,488],{},[406,486,487],{"href":225},"@lara-node\u002Fexports"," — PDF, Excel & CSV export utilities",[453,490,492],{"id":491},"security","Security",[400,494,495,501],{},[403,496,497,500],{},[406,498,499],{"href":70},"@lara-node\u002Fauth"," — JWT authentication & authorization",[403,502,503,506],{},[406,504,505],{"href":276},"@lara-node\u002Fmiddlewares"," — Pre-built HTTP middleware",[453,508,510],{"id":509},"data-async","Data & Async",[400,512,513,519,525,531],{},[403,514,515,518],{},[406,516,517],{"href":91},"@lara-node\u002Fcache"," — Multi-driver caching (Redis, in-memory)",[403,520,521,524],{},[406,522,523],{"href":289},"@lara-node\u002Fqueue"," — Job queues & workers",[403,526,527,530],{},[406,528,529],{"href":204},"@lara-node\u002Fevents"," — Event dispatcher & listeners",[403,532,533,536],{},[406,534,535],{"href":259},"@lara-node\u002Fmail"," — Email system with multiple drivers",[453,538,540],{"id":539},"utilities","Utilities",[400,542,543,549],{},[403,544,545,548],{},[406,546,547],{"href":104},"@lara-node\u002Fcarbon"," — Date\u002Ftime manipulation",[403,550,551,554],{},[406,552,553],{"href":129},"@lara-node\u002Fconsole"," — Artisan-style CLI commands",[453,556,558],{"id":557},"monitoring","Monitoring",[400,560,561,567],{},[403,562,563,566],{},[406,564,565],{"href":246},"@lara-node\u002Fhorizon"," — Queue monitoring dashboard",[403,568,569,572],{},[406,570,571],{"href":343},"@lara-node\u002Ftelescope"," — Debug & introspection dashboard",[396,574,576],{"id":575},"cli-tools","CLI Tools",[400,578,579],{},[403,580,581,584],{},[406,582,583],{"href":11},"create-laranode"," — Scaffold new LaraNode applications from the command line.",[393,586],{},[396,588,590],{"id":589},"ai-llm-integration","AI & LLM Integration",[400,592,593,601,608],{},[403,594,595,600],{},[406,596,599],{"href":597,"target":598},"\u002Fmcp","_blank","MCP Server"," — Connect AI assistants to your LaraNode application",[403,602,603,607],{},[406,604,606],{"href":605,"target":598},"\u002Fllms.txt","llms.txt"," — Documentation summary for LLMs",[403,609,610,614],{},[406,611,613],{"href":612,"target":598},"\u002Fllms-full.txt","llms-full.txt"," — Full documentation for LLMs",{"title":616,"searchDepth":617,"depth":618,"links":619},"",1,2,[620,621,622,630,631],{"id":398,"depth":618,"text":32},{"id":426,"depth":618,"text":427},{"id":66,"depth":618,"text":64,"children":623},[624,626,627,628,629],{"id":455,"depth":625,"text":456},3,{"id":491,"depth":625,"text":492},{"id":509,"depth":625,"text":510},{"id":539,"depth":625,"text":540},{"id":557,"depth":625,"text":558},{"id":575,"depth":618,"text":576},{"id":589,"depth":618,"text":590},"md",{},"\u002F",{"title":377,"description":388},"index","L8Ix3vPvH1fBGqXVPrpRjuWmcQmiFXMSYStic3dEIOg",1781262576267]