[{"data":1,"prerenderedAt":5806},["ShallowReactive",2],{"navigation_docs":3,"evlog-docs-home":505},[4,30,80,123,288,420,475],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"children":127,"page":29},"Integrate","\u002Fintegrate","4.integrate",[128,132,200],{"title":36,"path":129,"stem":130,"icon":131},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":133,"path":134,"stem":135,"children":136,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[137,140,180],{"title":36,"path":138,"stem":139,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":141,"path":142,"stem":143,"children":144,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[145,150,155,160,165,170,175],{"title":146,"path":147,"stem":148,"icon":149},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":151,"path":152,"stem":153,"icon":154},"OTLP","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fotlp","4.integrate\u002Fadapters\u002Fcloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":156,"path":157,"stem":158,"icon":159},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F03.posthog","i-simple-icons-posthog",{"title":161,"path":162,"stem":163,"icon":164},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F04.sentry","i-simple-icons-sentry",{"title":166,"path":167,"stem":168,"icon":169},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":171,"path":172,"stem":173,"icon":174},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F06.datadog","i-simple-icons-datadog",{"title":176,"path":177,"stem":178,"icon":179},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fhyperdx","4.integrate\u002Fadapters\u002Fcloud\u002F07.hyperdx","i-custom-hyperdx",{"title":181,"path":182,"stem":183,"children":184,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[185,190,195],{"title":186,"path":187,"stem":188,"icon":189},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":191,"path":192,"stem":193,"icon":194},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":196,"path":197,"stem":198,"icon":199},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":201,"path":202,"stem":203,"children":204,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[205,209,214,219,224,229,234,239,244,249,254,259,264,269,273,278,283],{"title":36,"path":206,"stem":207,"icon":208},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":210,"path":211,"stem":212,"icon":213},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":215,"path":216,"stem":217,"icon":218},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":220,"path":221,"stem":222,"icon":223},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":225,"path":226,"stem":227,"icon":228},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":230,"path":231,"stem":232,"icon":233},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":235,"path":236,"stem":237,"icon":238},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":240,"path":241,"stem":242,"icon":243},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":245,"path":246,"stem":247,"icon":248},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":250,"path":251,"stem":252,"icon":253},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":255,"path":256,"stem":257,"icon":258},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":260,"path":261,"stem":262,"icon":263},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":265,"path":266,"stem":267,"icon":268},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":270,"path":271,"stem":272,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":274,"path":275,"stem":276,"icon":277},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":279,"path":280,"stem":281,"icon":282},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":284,"path":285,"stem":286,"icon":287},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":289,"path":290,"stem":291,"children":292,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[293,296,301,330,357,389,410,415],{"title":36,"path":294,"stem":295,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":297,"path":298,"stem":299,"icon":300},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":302,"icon":303,"path":304,"stem":305,"children":306,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[307,310,315,320,325],{"title":36,"path":308,"stem":309,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":311,"path":312,"stem":313,"icon":314},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":316,"path":317,"stem":318,"icon":319},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":321,"path":322,"stem":323,"icon":324},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":326,"path":327,"stem":328,"icon":329},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":331,"icon":332,"path":333,"stem":334,"children":335,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[336,339,344,349,353],{"title":36,"path":337,"stem":338,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":340,"path":341,"stem":342,"icon":343},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":345,"path":346,"stem":347,"icon":348},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":350,"path":351,"stem":352,"icon":300},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":354,"path":355,"stem":356,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":358,"icon":359,"path":360,"stem":361,"children":362,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[363,366,371,376,381,385],{"title":36,"path":364,"stem":365,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":367,"path":368,"stem":369,"icon":370},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":372,"path":373,"stem":374,"icon":375},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":377,"path":378,"stem":379,"icon":380},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":382,"path":383,"stem":384,"icon":359},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":386,"path":387,"stem":388,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":326,"icon":107,"path":390,"stem":391,"children":392,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[393,396,401,406],{"title":36,"path":394,"stem":395,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":397,"path":398,"stem":399,"icon":400},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":402,"path":403,"stem":404,"icon":405},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":407,"path":408,"stem":409,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":411,"path":412,"stem":413,"icon":414},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":416,"path":417,"stem":418,"icon":419},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":421,"path":422,"stem":423,"children":424,"page":29},"Extend","\u002Fextend","6.extend",[425,429,434,439,444,448,452,456,460,465,470],{"title":36,"path":426,"stem":427,"icon":428},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":430,"path":431,"stem":432,"icon":433},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":435,"path":436,"stem":437,"icon":438},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":440,"path":441,"stem":442,"icon":443},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":386,"path":445,"stem":446,"icon":447},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":449,"path":450,"stem":451,"icon":428},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":453,"path":454,"stem":455,"icon":414},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":457,"path":458,"stem":459,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":461,"path":462,"stem":463,"icon":464},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":466,"path":467,"stem":468,"icon":469},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":471,"path":472,"stem":473,"icon":474},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":407,"path":476,"stem":477,"children":478,"page":29},"\u002Freference","7.reference",[479,484,487,492,496,501],{"title":480,"path":481,"stem":482,"icon":483},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":354,"path":485,"stem":486,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":488,"path":489,"stem":490,"icon":491},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":493,"path":494,"stem":495,"icon":359},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":497,"path":498,"stem":499,"icon":500},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":502,"path":503,"stem":504,"icon":414},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"id":506,"title":507,"body":508,"description":5798,"extension":5799,"links":5800,"meta":5801,"navigation":29,"path":5802,"seo":5803,"stem":5804,"__hash__":5805},"docs\u002F0.landing.md","evlog — Digging through logs is not observability. It's hope.",{"type":509,"value":510,"toc":5796},"minimark",[511,529,532,5786,5792],[512,513,514,526],"landing-hero",{},[515,516,518,519,522,523,525],"template",{"v-slot:title":517},"","Digging through logs ",[520,521],"br",{}," is not observability. ",[520,524],{}," It's hope",[515,527,528],{"v-slot:description":517},"A modern TypeScript logger built for everything you ship. Simple logs, wide events, and structured errors — one API, every context.",[530,531],"landing-logos",{},[533,534,535],"landing-features",{},[515,536,537,553,566,582,595,608,620,635,651,666],{"v-slot:body":517},[538,539,541,544,550],"features-feature-simple-api",{"link":26,"link-label":540},"Quick start guide",[515,542,543],{"v-slot:headline":517},"Simple API",[515,545,546,547,549],{"v-slot:title":517},"Set context. ",[520,548],{}," Get answers",[515,551,552],{"v-slot:description":517},"Accumulate context with log.set, throw structured errors with why and fix, group recurring errors in typed catalogs. One wide event captures everything, whether the request succeeds or fails.",[554,555,557,560,563],"features-feature-agent-ready",{"link":503,"link-label":556},"Agent skills setup",[515,558,559],{"v-slot:headline":517},"Agent Ready",[515,561,562],{"v-slot:title":517},"Built for agents",[515,564,565],{"v-slot:description":517},"Structured fields, machine-readable context, and actionable metadata that give AI agents everything they need to diagnose and resolve issues on their own. Enable the file system drain to write NDJSON logs locally and let agents read them directly.",[567,568,570,573,579],"features-feature-cli-map",{"link":95,"link-label":569},"evlog map guide",[515,571,572],{"v-slot:headline":517},"Observability Score",[515,574,575,576,578],{"v-slot:title":517},"One command. ",[520,577],{}," Every blind spot",[515,580,581],{"v-slot:description":517},"The first time most teams learn a handler logs nothing is mid-incident. Think Lighthouse, but for observability: a score for the context your app will give you when it breaks, and the exact list of fixes to raise it — before it matters.",[583,584,586,589,592],"features-feature-adapters",{"link":138,"link-label":585},"Explore adapters",[515,587,588],{"v-slot:headline":517},"Drain Pipeline",[515,590,591],{"v-slot:title":517},"Send everywhere",[515,593,594],{"v-slot:description":517},"Batched writes, automatic retries with backoff, and fan-out to multiple destinations. Your logs flow through a pipeline that never blocks your response.",[596,597,599,602,605],"features-feature-client-drain",{"link":298,"link-label":598},"Client logging guide",[515,600,601],{"v-slot:headline":517},"Client Logs",[515,603,604],{"v-slot:title":517},"See the full picture",[515,606,607],{"v-slot:description":517},"Capture browser events and drain them to your server. Automatic batching, retries, and page-aware flushing with the same pipeline from client to server.",[609,610,612,614,617],"features-feature-sampling",{"link":62,"link-label":611},"Sampling guide",[515,613,61],{"v-slot:headline":517},[515,615,616],{"v-slot:title":517},"Keep what matters",[515,618,619],{"v-slot:description":517},"Two-tier filtering: head sampling drops noise by level, tail sampling rescues critical events. Never miss errors, slow requests, or critical paths.",[621,622,624,626,632],"features-feature-audit",{"link":364,"link-label":623},"Audit logs guide",[515,625,358],{"v-slot:headline":517},[515,627,628,629,631],{"v-slot:title":517},"Compliance-ready ",[520,630],{}," by composition",[515,633,634],{"v-slot:description":517},"First-class who-did-what trails as a thin layer on top of wide events. One enricher, one drain wrapper, one helper. Tamper-evident hash chains, denied actions, redact-aware diffs, idempotency keys for safe retries, and typed action catalogs for refactor-safe alerting — all from the main entrypoint, no parallel pipeline.",[636,637,639,642,648],"features-feature-ai-sdk",{"link":308,"link-label":638},"AI SDK integration",[515,640,641],{"v-slot:headline":517},"AI Observability",[515,643,644,645,647],{"v-slot:title":517},"Make AI calls ",[520,646],{}," observable",[515,649,650],{"v-slot:description":517},"Your AI endpoints are black boxes. You don't know how many tokens each request burns, which tools the model called, or how fast the stream was. Wrap your model with one line and every call is captured into the wide event. Cost estimation, tool execution timing, streaming performance, cache hits, reasoning tokens, and multi-step agent breakdowns.",[652,653,655,657,663],"features-feature-performance",{"link":485,"link-label":654},"Benchmark results",[515,656,354],{"v-slot:headline":517},[515,658,659,660,662],{"v-slot:title":517},"Add logging, ",[520,661],{}," not overhead",[515,664,665],{"v-slot:description":517},"Zero dependencies, ~6 kB gzip, ~3µs per request. Benchmarked against pino, consola, and winston. 7.7x faster than pino in the wide event pattern (1 correlated event vs 4 separate log lines), competitive on every other path.",[667,668,670,672,675,678,1111,1512,1939,2320,2840,3241,3397,3748,4120,4458,4768,5219,5477],"features-feature-frameworks",{"link":206,"link-label":669},"Framework integrations",[515,671,201],{"v-slot:headline":517},[515,673,674],{"v-slot:title":517},"Your stack. Covered",[515,676,677],{"v-slot:description":517},"Native integrations for every major framework. One import, zero config, same API everywhere. The Vite plugin adds auto-init, debug stripping, and source location to any Vite-based stack.",[515,679,680],{"v-slot:nuxt":517},[681,682,687],"pre",{"className":683,"code":684,"filename":685,"language":686,"meta":517,"style":517},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const { cartId } = await readBody(event)\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return { orderId: charge.id }\n})\n","server\u002Fapi\u002Fcheckout.post.ts","ts",[688,689,690,731,754,782,789,817,878,883,914,951,956,980,993,1008,1028,1045,1062,1070,1076,1081,1103],"code",{"__ignoreMap":517},[691,692,695,699,702,706,710,714,718,722,725,728],"span",{"class":693,"line":694},"line",1,[691,696,698],{"class":697},"s7zQu","export",[691,700,701],{"class":697}," default",[691,703,705],{"class":704},"s2Zo4"," defineEventHandler",[691,707,709],{"class":708},"sTEyZ","(",[691,711,713],{"class":712},"spNyl","async",[691,715,717],{"class":716},"sMK4o"," (",[691,719,721],{"class":720},"sHdIc","event",[691,723,724],{"class":716},")",[691,726,727],{"class":712}," =>",[691,729,730],{"class":716}," {\n",[691,732,734,737,740,743,746,749,751],{"class":693,"line":733},2,[691,735,736],{"class":712},"  const",[691,738,739],{"class":708}," log",[691,741,742],{"class":716}," =",[691,744,745],{"class":704}," useLogger",[691,747,709],{"class":748},"swJcz",[691,750,721],{"class":708},[691,752,753],{"class":748},")\n",[691,755,757,759,762,765,768,770,773,776,778,780],{"class":693,"line":756},3,[691,758,736],{"class":712},[691,760,761],{"class":716}," {",[691,763,764],{"class":708}," cartId",[691,766,767],{"class":716}," }",[691,769,742],{"class":716},[691,771,772],{"class":697}," await",[691,774,775],{"class":704}," readBody",[691,777,709],{"class":748},[691,779,721],{"class":708},[691,781,753],{"class":748},[691,783,785],{"class":693,"line":784},4,[691,786,788],{"emptyLinePlaceholder":787},true,"\n",[691,790,792,794,797,799,801,804,807,810,812,815],{"class":693,"line":791},5,[691,793,736],{"class":712},[691,795,796],{"class":708}," cart",[691,798,742],{"class":716},[691,800,772],{"class":697},[691,802,803],{"class":708}," db",[691,805,806],{"class":716},".",[691,808,809],{"class":704},"findCart",[691,811,709],{"class":748},[691,813,814],{"class":708},"cartId",[691,816,753],{"class":748},[691,818,820,823,825,828,830,833,835,838,840,843,845,847,849,852,854,857,860,863,865,867,869,872,874,876],{"class":693,"line":819},6,[691,821,822],{"class":708},"  log",[691,824,806],{"class":716},[691,826,827],{"class":704},"set",[691,829,709],{"class":748},[691,831,832],{"class":716},"{",[691,834,796],{"class":748},[691,836,837],{"class":716},":",[691,839,761],{"class":716},[691,841,842],{"class":748}," items",[691,844,837],{"class":716},[691,846,796],{"class":708},[691,848,806],{"class":716},[691,850,851],{"class":708},"items",[691,853,806],{"class":716},[691,855,856],{"class":708},"length",[691,858,859],{"class":716},",",[691,861,862],{"class":748}," total",[691,864,837],{"class":716},[691,866,796],{"class":708},[691,868,806],{"class":716},[691,870,871],{"class":708},"total",[691,873,767],{"class":716},[691,875,767],{"class":716},[691,877,753],{"class":748},[691,879,881],{"class":693,"line":880},7,[691,882,788],{"emptyLinePlaceholder":787},[691,884,886,888,891,893,895,898,900,903,905,908,910,912],{"class":693,"line":885},8,[691,887,736],{"class":712},[691,889,890],{"class":708}," charge",[691,892,742],{"class":716},[691,894,772],{"class":697},[691,896,897],{"class":708}," stripe",[691,899,806],{"class":716},[691,901,902],{"class":704},"charge",[691,904,709],{"class":748},[691,906,907],{"class":708},"cart",[691,909,806],{"class":716},[691,911,871],{"class":708},[691,913,753],{"class":748},[691,915,917,919,921,923,925,927,929,931,933,936,938,940,942,945,947,949],{"class":693,"line":916},9,[691,918,822],{"class":708},[691,920,806],{"class":716},[691,922,827],{"class":704},[691,924,709],{"class":748},[691,926,832],{"class":716},[691,928,897],{"class":748},[691,930,837],{"class":716},[691,932,761],{"class":716},[691,934,935],{"class":748}," chargeId",[691,937,837],{"class":716},[691,939,890],{"class":708},[691,941,806],{"class":716},[691,943,944],{"class":708},"id",[691,946,767],{"class":716},[691,948,767],{"class":716},[691,950,753],{"class":748},[691,952,954],{"class":693,"line":953},10,[691,955,788],{"emptyLinePlaceholder":787},[691,957,959,962,964,967,969,971,974,977],{"class":693,"line":958},11,[691,960,961],{"class":697},"  if",[691,963,717],{"class":748},[691,965,966],{"class":716},"!",[691,968,902],{"class":708},[691,970,806],{"class":716},[691,972,973],{"class":708},"success",[691,975,976],{"class":748},") ",[691,978,979],{"class":716},"{\n",[691,981,983,986,989,991],{"class":693,"line":982},12,[691,984,985],{"class":697},"    throw",[691,987,988],{"class":704}," createError",[691,990,709],{"class":748},[691,992,979],{"class":716},[691,994,996,999,1001,1005],{"class":693,"line":995},13,[691,997,998],{"class":748},"      status",[691,1000,837],{"class":716},[691,1002,1004],{"class":1003},"sbssI"," 402",[691,1006,1007],{"class":716},",\n",[691,1009,1011,1014,1016,1019,1023,1026],{"class":693,"line":1010},14,[691,1012,1013],{"class":748},"      message",[691,1015,837],{"class":716},[691,1017,1018],{"class":716}," '",[691,1020,1022],{"class":1021},"sfazB","Payment failed",[691,1024,1025],{"class":716},"'",[691,1027,1007],{"class":716},[691,1029,1031,1034,1036,1038,1040,1043],{"class":693,"line":1030},15,[691,1032,1033],{"class":748},"      why",[691,1035,837],{"class":716},[691,1037,890],{"class":708},[691,1039,806],{"class":716},[691,1041,1042],{"class":708},"decline_reason",[691,1044,1007],{"class":716},[691,1046,1048,1051,1053,1055,1058,1060],{"class":693,"line":1047},16,[691,1049,1050],{"class":748},"      fix",[691,1052,837],{"class":716},[691,1054,1018],{"class":716},[691,1056,1057],{"class":1021},"Try a different payment method",[691,1059,1025],{"class":716},[691,1061,1007],{"class":716},[691,1063,1065,1068],{"class":693,"line":1064},17,[691,1066,1067],{"class":716},"    }",[691,1069,753],{"class":748},[691,1071,1073],{"class":693,"line":1072},18,[691,1074,1075],{"class":716},"  }\n",[691,1077,1079],{"class":693,"line":1078},19,[691,1080,788],{"emptyLinePlaceholder":787},[691,1082,1084,1087,1089,1092,1094,1096,1098,1100],{"class":693,"line":1083},20,[691,1085,1086],{"class":697},"  return",[691,1088,761],{"class":716},[691,1090,1091],{"class":748}," orderId",[691,1093,837],{"class":716},[691,1095,890],{"class":708},[691,1097,806],{"class":716},[691,1099,944],{"class":708},[691,1101,1102],{"class":716}," }\n",[691,1104,1106,1109],{"class":693,"line":1105},21,[691,1107,1108],{"class":716},"}",[691,1110,753],{"class":708},[515,1112,1113],{"v-slot:nextjs":517},[681,1114,1117],{"className":683,"code":1115,"filename":1116,"language":686,"meta":517,"style":517},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { createError } from 'evlog'\n\nexport const POST = withEvlog(async (req) => {\n  const log = useLogger()\n  const { cartId } = await req.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return Response.json({ orderId: charge.id })\n})\n","app\u002Fapi\u002Fcheckout\u002Froute.ts",[688,1118,1119,1146,1165,1169,1199,1212,1236,1240,1262,1312,1316,1342,1376,1380,1398,1408,1418,1432,1446,1460,1466,1470,1475,1505],{"__ignoreMap":517},[691,1120,1121,1124,1126,1129,1131,1133,1135,1138,1140,1143],{"class":693,"line":694},[691,1122,1123],{"class":697},"import",[691,1125,761],{"class":716},[691,1127,1128],{"class":708}," withEvlog",[691,1130,859],{"class":716},[691,1132,745],{"class":708},[691,1134,767],{"class":716},[691,1136,1137],{"class":697}," from",[691,1139,1018],{"class":716},[691,1141,1142],{"class":1021},"@\u002Flib\u002Fevlog",[691,1144,1145],{"class":716},"'\n",[691,1147,1148,1150,1152,1154,1156,1158,1160,1163],{"class":693,"line":733},[691,1149,1123],{"class":697},[691,1151,761],{"class":716},[691,1153,988],{"class":708},[691,1155,767],{"class":716},[691,1157,1137],{"class":697},[691,1159,1018],{"class":716},[691,1161,1162],{"class":1021},"evlog",[691,1164,1145],{"class":716},[691,1166,1167],{"class":693,"line":756},[691,1168,788],{"emptyLinePlaceholder":787},[691,1170,1171,1173,1176,1179,1182,1184,1186,1188,1190,1193,1195,1197],{"class":693,"line":784},[691,1172,698],{"class":697},[691,1174,1175],{"class":712}," const",[691,1177,1178],{"class":708}," POST ",[691,1180,1181],{"class":716},"=",[691,1183,1128],{"class":704},[691,1185,709],{"class":708},[691,1187,713],{"class":712},[691,1189,717],{"class":716},[691,1191,1192],{"class":720},"req",[691,1194,724],{"class":716},[691,1196,727],{"class":712},[691,1198,730],{"class":716},[691,1200,1201,1203,1205,1207,1209],{"class":693,"line":791},[691,1202,736],{"class":712},[691,1204,739],{"class":708},[691,1206,742],{"class":716},[691,1208,745],{"class":704},[691,1210,1211],{"class":748},"()\n",[691,1213,1214,1216,1218,1220,1222,1224,1226,1229,1231,1234],{"class":693,"line":819},[691,1215,736],{"class":712},[691,1217,761],{"class":716},[691,1219,764],{"class":708},[691,1221,767],{"class":716},[691,1223,742],{"class":716},[691,1225,772],{"class":697},[691,1227,1228],{"class":708}," req",[691,1230,806],{"class":716},[691,1232,1233],{"class":704},"json",[691,1235,1211],{"class":748},[691,1237,1238],{"class":693,"line":880},[691,1239,788],{"emptyLinePlaceholder":787},[691,1241,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260],{"class":693,"line":885},[691,1243,736],{"class":712},[691,1245,796],{"class":708},[691,1247,742],{"class":716},[691,1249,772],{"class":697},[691,1251,803],{"class":708},[691,1253,806],{"class":716},[691,1255,809],{"class":704},[691,1257,709],{"class":748},[691,1259,814],{"class":708},[691,1261,753],{"class":748},[691,1263,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310],{"class":693,"line":916},[691,1265,822],{"class":708},[691,1267,806],{"class":716},[691,1269,827],{"class":704},[691,1271,709],{"class":748},[691,1273,832],{"class":716},[691,1275,796],{"class":748},[691,1277,837],{"class":716},[691,1279,761],{"class":716},[691,1281,842],{"class":748},[691,1283,837],{"class":716},[691,1285,796],{"class":708},[691,1287,806],{"class":716},[691,1289,851],{"class":708},[691,1291,806],{"class":716},[691,1293,856],{"class":708},[691,1295,859],{"class":716},[691,1297,862],{"class":748},[691,1299,837],{"class":716},[691,1301,796],{"class":708},[691,1303,806],{"class":716},[691,1305,871],{"class":708},[691,1307,767],{"class":716},[691,1309,767],{"class":716},[691,1311,753],{"class":748},[691,1313,1314],{"class":693,"line":953},[691,1315,788],{"emptyLinePlaceholder":787},[691,1317,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340],{"class":693,"line":958},[691,1319,736],{"class":712},[691,1321,890],{"class":708},[691,1323,742],{"class":716},[691,1325,772],{"class":697},[691,1327,897],{"class":708},[691,1329,806],{"class":716},[691,1331,902],{"class":704},[691,1333,709],{"class":748},[691,1335,907],{"class":708},[691,1337,806],{"class":716},[691,1339,871],{"class":708},[691,1341,753],{"class":748},[691,1343,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374],{"class":693,"line":982},[691,1345,822],{"class":708},[691,1347,806],{"class":716},[691,1349,827],{"class":704},[691,1351,709],{"class":748},[691,1353,832],{"class":716},[691,1355,897],{"class":748},[691,1357,837],{"class":716},[691,1359,761],{"class":716},[691,1361,935],{"class":748},[691,1363,837],{"class":716},[691,1365,890],{"class":708},[691,1367,806],{"class":716},[691,1369,944],{"class":708},[691,1371,767],{"class":716},[691,1373,767],{"class":716},[691,1375,753],{"class":748},[691,1377,1378],{"class":693,"line":995},[691,1379,788],{"emptyLinePlaceholder":787},[691,1381,1382,1384,1386,1388,1390,1392,1394,1396],{"class":693,"line":1010},[691,1383,961],{"class":697},[691,1385,717],{"class":748},[691,1387,966],{"class":716},[691,1389,902],{"class":708},[691,1391,806],{"class":716},[691,1393,973],{"class":708},[691,1395,976],{"class":748},[691,1397,979],{"class":716},[691,1399,1400,1402,1404,1406],{"class":693,"line":1030},[691,1401,985],{"class":697},[691,1403,988],{"class":704},[691,1405,709],{"class":748},[691,1407,979],{"class":716},[691,1409,1410,1412,1414,1416],{"class":693,"line":1047},[691,1411,998],{"class":748},[691,1413,837],{"class":716},[691,1415,1004],{"class":1003},[691,1417,1007],{"class":716},[691,1419,1420,1422,1424,1426,1428,1430],{"class":693,"line":1064},[691,1421,1013],{"class":748},[691,1423,837],{"class":716},[691,1425,1018],{"class":716},[691,1427,1022],{"class":1021},[691,1429,1025],{"class":716},[691,1431,1007],{"class":716},[691,1433,1434,1436,1438,1440,1442,1444],{"class":693,"line":1072},[691,1435,1033],{"class":748},[691,1437,837],{"class":716},[691,1439,890],{"class":708},[691,1441,806],{"class":716},[691,1443,1042],{"class":708},[691,1445,1007],{"class":716},[691,1447,1448,1450,1452,1454,1456,1458],{"class":693,"line":1078},[691,1449,1050],{"class":748},[691,1451,837],{"class":716},[691,1453,1018],{"class":716},[691,1455,1057],{"class":1021},[691,1457,1025],{"class":716},[691,1459,1007],{"class":716},[691,1461,1462,1464],{"class":693,"line":1083},[691,1463,1067],{"class":716},[691,1465,753],{"class":748},[691,1467,1468],{"class":693,"line":1105},[691,1469,1075],{"class":716},[691,1471,1473],{"class":693,"line":1472},22,[691,1474,788],{"emptyLinePlaceholder":787},[691,1476,1478,1480,1483,1485,1487,1489,1491,1493,1495,1497,1499,1501,1503],{"class":693,"line":1477},23,[691,1479,1086],{"class":697},[691,1481,1482],{"class":708}," Response",[691,1484,806],{"class":716},[691,1486,1233],{"class":704},[691,1488,709],{"class":748},[691,1490,832],{"class":716},[691,1492,1091],{"class":748},[691,1494,837],{"class":716},[691,1496,890],{"class":708},[691,1498,806],{"class":716},[691,1500,944],{"class":708},[691,1502,767],{"class":716},[691,1504,753],{"class":748},[691,1506,1508,1510],{"class":693,"line":1507},24,[691,1509,1108],{"class":716},[691,1511,753],{"class":708},[515,1513,1514],{"v-slot:sveltekit":517},[681,1515,1518],{"className":683,"code":1516,"filename":1517,"language":686,"meta":517,"style":517},"import { json } from '@sveltejs\u002Fkit'\nimport { createError } from 'evlog'\nimport { useLogger } from 'evlog\u002Fsveltekit'\nimport type { RequestHandler } from '.\u002F$types'\n\nexport const POST: RequestHandler = async ({ request }) => {\n  const log = useLogger()\n  const { cartId } = await request.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return json({ orderId: charge.id })\n}\n","src\u002Froutes\u002Fapi\u002Fcheckout\u002F+server.ts",[688,1519,1520,1540,1558,1577,1600,1604,1636,1648,1670,1674,1696,1746,1750,1776,1810,1814,1832,1842,1852,1866,1880,1894,1900,1904,1908,1933],{"__ignoreMap":517},[691,1521,1522,1524,1526,1529,1531,1533,1535,1538],{"class":693,"line":694},[691,1523,1123],{"class":697},[691,1525,761],{"class":716},[691,1527,1528],{"class":708}," json",[691,1530,767],{"class":716},[691,1532,1137],{"class":697},[691,1534,1018],{"class":716},[691,1536,1537],{"class":1021},"@sveltejs\u002Fkit",[691,1539,1145],{"class":716},[691,1541,1542,1544,1546,1548,1550,1552,1554,1556],{"class":693,"line":733},[691,1543,1123],{"class":697},[691,1545,761],{"class":716},[691,1547,988],{"class":708},[691,1549,767],{"class":716},[691,1551,1137],{"class":697},[691,1553,1018],{"class":716},[691,1555,1162],{"class":1021},[691,1557,1145],{"class":716},[691,1559,1560,1562,1564,1566,1568,1570,1572,1575],{"class":693,"line":756},[691,1561,1123],{"class":697},[691,1563,761],{"class":716},[691,1565,745],{"class":708},[691,1567,767],{"class":716},[691,1569,1137],{"class":697},[691,1571,1018],{"class":716},[691,1573,1574],{"class":1021},"evlog\u002Fsveltekit",[691,1576,1145],{"class":716},[691,1578,1579,1581,1584,1586,1589,1591,1593,1595,1598],{"class":693,"line":784},[691,1580,1123],{"class":697},[691,1582,1583],{"class":697}," type",[691,1585,761],{"class":716},[691,1587,1588],{"class":708}," RequestHandler",[691,1590,767],{"class":716},[691,1592,1137],{"class":697},[691,1594,1018],{"class":716},[691,1596,1597],{"class":1021},".\u002F$types",[691,1599,1145],{"class":716},[691,1601,1602],{"class":693,"line":791},[691,1603,788],{"emptyLinePlaceholder":787},[691,1605,1606,1608,1610,1613,1615,1618,1620,1623,1626,1629,1632,1634],{"class":693,"line":819},[691,1607,698],{"class":697},[691,1609,1175],{"class":712},[691,1611,1612],{"class":708}," POST",[691,1614,837],{"class":716},[691,1616,1588],{"class":1617},"sBMFI",[691,1619,742],{"class":716},[691,1621,1622],{"class":712}," async",[691,1624,1625],{"class":716}," ({",[691,1627,1628],{"class":720}," request",[691,1630,1631],{"class":716}," })",[691,1633,727],{"class":712},[691,1635,730],{"class":716},[691,1637,1638,1640,1642,1644,1646],{"class":693,"line":880},[691,1639,736],{"class":712},[691,1641,739],{"class":708},[691,1643,742],{"class":716},[691,1645,745],{"class":704},[691,1647,1211],{"class":748},[691,1649,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668],{"class":693,"line":885},[691,1651,736],{"class":712},[691,1653,761],{"class":716},[691,1655,764],{"class":708},[691,1657,767],{"class":716},[691,1659,742],{"class":716},[691,1661,772],{"class":697},[691,1663,1628],{"class":708},[691,1665,806],{"class":716},[691,1667,1233],{"class":704},[691,1669,1211],{"class":748},[691,1671,1672],{"class":693,"line":916},[691,1673,788],{"emptyLinePlaceholder":787},[691,1675,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694],{"class":693,"line":953},[691,1677,736],{"class":712},[691,1679,796],{"class":708},[691,1681,742],{"class":716},[691,1683,772],{"class":697},[691,1685,803],{"class":708},[691,1687,806],{"class":716},[691,1689,809],{"class":704},[691,1691,709],{"class":748},[691,1693,814],{"class":708},[691,1695,753],{"class":748},[691,1697,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744],{"class":693,"line":958},[691,1699,822],{"class":708},[691,1701,806],{"class":716},[691,1703,827],{"class":704},[691,1705,709],{"class":748},[691,1707,832],{"class":716},[691,1709,796],{"class":748},[691,1711,837],{"class":716},[691,1713,761],{"class":716},[691,1715,842],{"class":748},[691,1717,837],{"class":716},[691,1719,796],{"class":708},[691,1721,806],{"class":716},[691,1723,851],{"class":708},[691,1725,806],{"class":716},[691,1727,856],{"class":708},[691,1729,859],{"class":716},[691,1731,862],{"class":748},[691,1733,837],{"class":716},[691,1735,796],{"class":708},[691,1737,806],{"class":716},[691,1739,871],{"class":708},[691,1741,767],{"class":716},[691,1743,767],{"class":716},[691,1745,753],{"class":748},[691,1747,1748],{"class":693,"line":982},[691,1749,788],{"emptyLinePlaceholder":787},[691,1751,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774],{"class":693,"line":995},[691,1753,736],{"class":712},[691,1755,890],{"class":708},[691,1757,742],{"class":716},[691,1759,772],{"class":697},[691,1761,897],{"class":708},[691,1763,806],{"class":716},[691,1765,902],{"class":704},[691,1767,709],{"class":748},[691,1769,907],{"class":708},[691,1771,806],{"class":716},[691,1773,871],{"class":708},[691,1775,753],{"class":748},[691,1777,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808],{"class":693,"line":1010},[691,1779,822],{"class":708},[691,1781,806],{"class":716},[691,1783,827],{"class":704},[691,1785,709],{"class":748},[691,1787,832],{"class":716},[691,1789,897],{"class":748},[691,1791,837],{"class":716},[691,1793,761],{"class":716},[691,1795,935],{"class":748},[691,1797,837],{"class":716},[691,1799,890],{"class":708},[691,1801,806],{"class":716},[691,1803,944],{"class":708},[691,1805,767],{"class":716},[691,1807,767],{"class":716},[691,1809,753],{"class":748},[691,1811,1812],{"class":693,"line":1030},[691,1813,788],{"emptyLinePlaceholder":787},[691,1815,1816,1818,1820,1822,1824,1826,1828,1830],{"class":693,"line":1047},[691,1817,961],{"class":697},[691,1819,717],{"class":748},[691,1821,966],{"class":716},[691,1823,902],{"class":708},[691,1825,806],{"class":716},[691,1827,973],{"class":708},[691,1829,976],{"class":748},[691,1831,979],{"class":716},[691,1833,1834,1836,1838,1840],{"class":693,"line":1064},[691,1835,985],{"class":697},[691,1837,988],{"class":704},[691,1839,709],{"class":748},[691,1841,979],{"class":716},[691,1843,1844,1846,1848,1850],{"class":693,"line":1072},[691,1845,998],{"class":748},[691,1847,837],{"class":716},[691,1849,1004],{"class":1003},[691,1851,1007],{"class":716},[691,1853,1854,1856,1858,1860,1862,1864],{"class":693,"line":1078},[691,1855,1013],{"class":748},[691,1857,837],{"class":716},[691,1859,1018],{"class":716},[691,1861,1022],{"class":1021},[691,1863,1025],{"class":716},[691,1865,1007],{"class":716},[691,1867,1868,1870,1872,1874,1876,1878],{"class":693,"line":1083},[691,1869,1033],{"class":748},[691,1871,837],{"class":716},[691,1873,890],{"class":708},[691,1875,806],{"class":716},[691,1877,1042],{"class":708},[691,1879,1007],{"class":716},[691,1881,1882,1884,1886,1888,1890,1892],{"class":693,"line":1105},[691,1883,1050],{"class":748},[691,1885,837],{"class":716},[691,1887,1018],{"class":716},[691,1889,1057],{"class":1021},[691,1891,1025],{"class":716},[691,1893,1007],{"class":716},[691,1895,1896,1898],{"class":693,"line":1472},[691,1897,1067],{"class":716},[691,1899,753],{"class":748},[691,1901,1902],{"class":693,"line":1477},[691,1903,1075],{"class":716},[691,1905,1906],{"class":693,"line":1507},[691,1907,788],{"emptyLinePlaceholder":787},[691,1909,1911,1913,1915,1917,1919,1921,1923,1925,1927,1929,1931],{"class":693,"line":1910},25,[691,1912,1086],{"class":697},[691,1914,1528],{"class":704},[691,1916,709],{"class":748},[691,1918,832],{"class":716},[691,1920,1091],{"class":748},[691,1922,837],{"class":716},[691,1924,890],{"class":708},[691,1926,806],{"class":716},[691,1928,944],{"class":708},[691,1930,767],{"class":716},[691,1932,753],{"class":748},[691,1934,1936],{"class":693,"line":1935},26,[691,1937,1938],{"class":716},"}\n",[515,1940,1941],{"v-slot:nitro":517},[681,1942,1945],{"className":683,"code":1943,"filename":1944,"language":686,"meta":517,"style":517},"import { defineHandler, readBody } from 'nitro\u002Fh3'\nimport { useLogger, createError } from 'evlog\u002Fnitro\u002Fv3'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n  const { cartId } = await readBody(event)\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return { orderId: charge.id }\n})\n","routes\u002Fapi\u002Fcheckout.post.ts",[688,1946,1947,1971,1994,1998,2020,2036,2058,2062,2084,2134,2138,2164,2198,2202,2220,2230,2240,2254,2268,2282,2288,2292,2296,2314],{"__ignoreMap":517},[691,1948,1949,1951,1953,1956,1958,1960,1962,1964,1966,1969],{"class":693,"line":694},[691,1950,1123],{"class":697},[691,1952,761],{"class":716},[691,1954,1955],{"class":708}," defineHandler",[691,1957,859],{"class":716},[691,1959,775],{"class":708},[691,1961,767],{"class":716},[691,1963,1137],{"class":697},[691,1965,1018],{"class":716},[691,1967,1968],{"class":1021},"nitro\u002Fh3",[691,1970,1145],{"class":716},[691,1972,1973,1975,1977,1979,1981,1983,1985,1987,1989,1992],{"class":693,"line":733},[691,1974,1123],{"class":697},[691,1976,761],{"class":716},[691,1978,745],{"class":708},[691,1980,859],{"class":716},[691,1982,988],{"class":708},[691,1984,767],{"class":716},[691,1986,1137],{"class":697},[691,1988,1018],{"class":716},[691,1990,1991],{"class":1021},"evlog\u002Fnitro\u002Fv3",[691,1993,1145],{"class":716},[691,1995,1996],{"class":693,"line":756},[691,1997,788],{"emptyLinePlaceholder":787},[691,1999,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018],{"class":693,"line":784},[691,2001,698],{"class":697},[691,2003,701],{"class":697},[691,2005,1955],{"class":704},[691,2007,709],{"class":708},[691,2009,713],{"class":712},[691,2011,717],{"class":716},[691,2013,721],{"class":720},[691,2015,724],{"class":716},[691,2017,727],{"class":712},[691,2019,730],{"class":716},[691,2021,2022,2024,2026,2028,2030,2032,2034],{"class":693,"line":791},[691,2023,736],{"class":712},[691,2025,739],{"class":708},[691,2027,742],{"class":716},[691,2029,745],{"class":704},[691,2031,709],{"class":748},[691,2033,721],{"class":708},[691,2035,753],{"class":748},[691,2037,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056],{"class":693,"line":819},[691,2039,736],{"class":712},[691,2041,761],{"class":716},[691,2043,764],{"class":708},[691,2045,767],{"class":716},[691,2047,742],{"class":716},[691,2049,772],{"class":697},[691,2051,775],{"class":704},[691,2053,709],{"class":748},[691,2055,721],{"class":708},[691,2057,753],{"class":748},[691,2059,2060],{"class":693,"line":880},[691,2061,788],{"emptyLinePlaceholder":787},[691,2063,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082],{"class":693,"line":885},[691,2065,736],{"class":712},[691,2067,796],{"class":708},[691,2069,742],{"class":716},[691,2071,772],{"class":697},[691,2073,803],{"class":708},[691,2075,806],{"class":716},[691,2077,809],{"class":704},[691,2079,709],{"class":748},[691,2081,814],{"class":708},[691,2083,753],{"class":748},[691,2085,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132],{"class":693,"line":916},[691,2087,822],{"class":708},[691,2089,806],{"class":716},[691,2091,827],{"class":704},[691,2093,709],{"class":748},[691,2095,832],{"class":716},[691,2097,796],{"class":748},[691,2099,837],{"class":716},[691,2101,761],{"class":716},[691,2103,842],{"class":748},[691,2105,837],{"class":716},[691,2107,796],{"class":708},[691,2109,806],{"class":716},[691,2111,851],{"class":708},[691,2113,806],{"class":716},[691,2115,856],{"class":708},[691,2117,859],{"class":716},[691,2119,862],{"class":748},[691,2121,837],{"class":716},[691,2123,796],{"class":708},[691,2125,806],{"class":716},[691,2127,871],{"class":708},[691,2129,767],{"class":716},[691,2131,767],{"class":716},[691,2133,753],{"class":748},[691,2135,2136],{"class":693,"line":953},[691,2137,788],{"emptyLinePlaceholder":787},[691,2139,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162],{"class":693,"line":958},[691,2141,736],{"class":712},[691,2143,890],{"class":708},[691,2145,742],{"class":716},[691,2147,772],{"class":697},[691,2149,897],{"class":708},[691,2151,806],{"class":716},[691,2153,902],{"class":704},[691,2155,709],{"class":748},[691,2157,907],{"class":708},[691,2159,806],{"class":716},[691,2161,871],{"class":708},[691,2163,753],{"class":748},[691,2165,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196],{"class":693,"line":982},[691,2167,822],{"class":708},[691,2169,806],{"class":716},[691,2171,827],{"class":704},[691,2173,709],{"class":748},[691,2175,832],{"class":716},[691,2177,897],{"class":748},[691,2179,837],{"class":716},[691,2181,761],{"class":716},[691,2183,935],{"class":748},[691,2185,837],{"class":716},[691,2187,890],{"class":708},[691,2189,806],{"class":716},[691,2191,944],{"class":708},[691,2193,767],{"class":716},[691,2195,767],{"class":716},[691,2197,753],{"class":748},[691,2199,2200],{"class":693,"line":995},[691,2201,788],{"emptyLinePlaceholder":787},[691,2203,2204,2206,2208,2210,2212,2214,2216,2218],{"class":693,"line":1010},[691,2205,961],{"class":697},[691,2207,717],{"class":748},[691,2209,966],{"class":716},[691,2211,902],{"class":708},[691,2213,806],{"class":716},[691,2215,973],{"class":708},[691,2217,976],{"class":748},[691,2219,979],{"class":716},[691,2221,2222,2224,2226,2228],{"class":693,"line":1030},[691,2223,985],{"class":697},[691,2225,988],{"class":704},[691,2227,709],{"class":748},[691,2229,979],{"class":716},[691,2231,2232,2234,2236,2238],{"class":693,"line":1047},[691,2233,998],{"class":748},[691,2235,837],{"class":716},[691,2237,1004],{"class":1003},[691,2239,1007],{"class":716},[691,2241,2242,2244,2246,2248,2250,2252],{"class":693,"line":1064},[691,2243,1013],{"class":748},[691,2245,837],{"class":716},[691,2247,1018],{"class":716},[691,2249,1022],{"class":1021},[691,2251,1025],{"class":716},[691,2253,1007],{"class":716},[691,2255,2256,2258,2260,2262,2264,2266],{"class":693,"line":1072},[691,2257,1033],{"class":748},[691,2259,837],{"class":716},[691,2261,890],{"class":708},[691,2263,806],{"class":716},[691,2265,1042],{"class":708},[691,2267,1007],{"class":716},[691,2269,2270,2272,2274,2276,2278,2280],{"class":693,"line":1078},[691,2271,1050],{"class":748},[691,2273,837],{"class":716},[691,2275,1018],{"class":716},[691,2277,1057],{"class":1021},[691,2279,1025],{"class":716},[691,2281,1007],{"class":716},[691,2283,2284,2286],{"class":693,"line":1083},[691,2285,1067],{"class":716},[691,2287,753],{"class":748},[691,2289,2290],{"class":693,"line":1105},[691,2291,1075],{"class":716},[691,2293,2294],{"class":693,"line":1472},[691,2295,788],{"emptyLinePlaceholder":787},[691,2297,2298,2300,2302,2304,2306,2308,2310,2312],{"class":693,"line":1477},[691,2299,1086],{"class":697},[691,2301,761],{"class":716},[691,2303,1091],{"class":748},[691,2305,837],{"class":716},[691,2307,890],{"class":708},[691,2309,806],{"class":716},[691,2311,944],{"class":708},[691,2313,1102],{"class":716},[691,2315,2316,2318],{"class":693,"line":1507},[691,2317,1108],{"class":716},[691,2319,753],{"class":708},[515,2321,2322],{"v-slot:tanstack-start":517},[681,2323,2326],{"className":683,"code":2324,"filename":2325,"language":686,"meta":517,"style":517},"import { createFileRoute } from '@tanstack\u002Freact-router'\nimport { useRequest } from 'nitro\u002Fcontext'\nimport { createError } from 'evlog'\nimport type { RequestLogger } from 'evlog'\n\nexport const Route = createFileRoute('\u002Fapi\u002Fcheckout')({\n  server: {\n    handlers: {\n      POST: async ({ request }) => {\n        const req = useRequest()\n        const log = req.context.log as RequestLogger\n        const { cartId } = await request.json()\n\n        const cart = await db.findCart(cartId)\n        log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n        const charge = await stripe.charge(cart.total)\n        log.set({ stripe: { chargeId: charge.id } })\n\n        if (!charge.success) {\n          throw createError({\n            status: 402,\n            message: 'Payment failed',\n            why: charge.decline_reason,\n            fix: 'Try a different payment method',\n          })\n        }\n\n        return Response.json({ orderId: charge.id })\n      },\n    },\n  },\n})\n","src\u002Froutes\u002Fapi\u002Fcheckout.ts",[688,2327,2328,2348,2368,2386,2407,2411,2438,2447,2456,2475,2488,2514,2536,2540,2562,2613,2617,2643,2677,2681,2700,2711,2722,2737,2752,2767,2774,2780,2785,2815,2821,2827,2833],{"__ignoreMap":517},[691,2329,2330,2332,2334,2337,2339,2341,2343,2346],{"class":693,"line":694},[691,2331,1123],{"class":697},[691,2333,761],{"class":716},[691,2335,2336],{"class":708}," createFileRoute",[691,2338,767],{"class":716},[691,2340,1137],{"class":697},[691,2342,1018],{"class":716},[691,2344,2345],{"class":1021},"@tanstack\u002Freact-router",[691,2347,1145],{"class":716},[691,2349,2350,2352,2354,2357,2359,2361,2363,2366],{"class":693,"line":733},[691,2351,1123],{"class":697},[691,2353,761],{"class":716},[691,2355,2356],{"class":708}," useRequest",[691,2358,767],{"class":716},[691,2360,1137],{"class":697},[691,2362,1018],{"class":716},[691,2364,2365],{"class":1021},"nitro\u002Fcontext",[691,2367,1145],{"class":716},[691,2369,2370,2372,2374,2376,2378,2380,2382,2384],{"class":693,"line":756},[691,2371,1123],{"class":697},[691,2373,761],{"class":716},[691,2375,988],{"class":708},[691,2377,767],{"class":716},[691,2379,1137],{"class":697},[691,2381,1018],{"class":716},[691,2383,1162],{"class":1021},[691,2385,1145],{"class":716},[691,2387,2388,2390,2392,2394,2397,2399,2401,2403,2405],{"class":693,"line":784},[691,2389,1123],{"class":697},[691,2391,1583],{"class":697},[691,2393,761],{"class":716},[691,2395,2396],{"class":708}," RequestLogger",[691,2398,767],{"class":716},[691,2400,1137],{"class":697},[691,2402,1018],{"class":716},[691,2404,1162],{"class":1021},[691,2406,1145],{"class":716},[691,2408,2409],{"class":693,"line":791},[691,2410,788],{"emptyLinePlaceholder":787},[691,2412,2413,2415,2417,2420,2422,2424,2426,2428,2431,2433,2436],{"class":693,"line":819},[691,2414,698],{"class":697},[691,2416,1175],{"class":712},[691,2418,2419],{"class":708}," Route ",[691,2421,1181],{"class":716},[691,2423,2336],{"class":704},[691,2425,709],{"class":708},[691,2427,1025],{"class":716},[691,2429,2430],{"class":1021},"\u002Fapi\u002Fcheckout",[691,2432,1025],{"class":716},[691,2434,2435],{"class":708},")(",[691,2437,979],{"class":716},[691,2439,2440,2443,2445],{"class":693,"line":880},[691,2441,2442],{"class":748},"  server",[691,2444,837],{"class":716},[691,2446,730],{"class":716},[691,2448,2449,2452,2454],{"class":693,"line":885},[691,2450,2451],{"class":748},"    handlers",[691,2453,837],{"class":716},[691,2455,730],{"class":716},[691,2457,2458,2461,2463,2465,2467,2469,2471,2473],{"class":693,"line":916},[691,2459,2460],{"class":704},"      POST",[691,2462,837],{"class":716},[691,2464,1622],{"class":712},[691,2466,1625],{"class":716},[691,2468,1628],{"class":720},[691,2470,1631],{"class":716},[691,2472,727],{"class":712},[691,2474,730],{"class":716},[691,2476,2477,2480,2482,2484,2486],{"class":693,"line":953},[691,2478,2479],{"class":712},"        const",[691,2481,1228],{"class":708},[691,2483,742],{"class":716},[691,2485,2356],{"class":704},[691,2487,1211],{"class":748},[691,2489,2490,2492,2494,2496,2498,2500,2503,2505,2508,2511],{"class":693,"line":958},[691,2491,2479],{"class":712},[691,2493,739],{"class":708},[691,2495,742],{"class":716},[691,2497,1228],{"class":708},[691,2499,806],{"class":716},[691,2501,2502],{"class":708},"context",[691,2504,806],{"class":716},[691,2506,2507],{"class":708},"log",[691,2509,2510],{"class":697}," as",[691,2512,2513],{"class":1617}," RequestLogger\n",[691,2515,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534],{"class":693,"line":982},[691,2517,2479],{"class":712},[691,2519,761],{"class":716},[691,2521,764],{"class":708},[691,2523,767],{"class":716},[691,2525,742],{"class":716},[691,2527,772],{"class":697},[691,2529,1628],{"class":708},[691,2531,806],{"class":716},[691,2533,1233],{"class":704},[691,2535,1211],{"class":748},[691,2537,2538],{"class":693,"line":995},[691,2539,788],{"emptyLinePlaceholder":787},[691,2541,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560],{"class":693,"line":1010},[691,2543,2479],{"class":712},[691,2545,796],{"class":708},[691,2547,742],{"class":716},[691,2549,772],{"class":697},[691,2551,803],{"class":708},[691,2553,806],{"class":716},[691,2555,809],{"class":704},[691,2557,709],{"class":748},[691,2559,814],{"class":708},[691,2561,753],{"class":748},[691,2563,2564,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611],{"class":693,"line":1030},[691,2565,2566],{"class":708},"        log",[691,2568,806],{"class":716},[691,2570,827],{"class":704},[691,2572,709],{"class":748},[691,2574,832],{"class":716},[691,2576,796],{"class":748},[691,2578,837],{"class":716},[691,2580,761],{"class":716},[691,2582,842],{"class":748},[691,2584,837],{"class":716},[691,2586,796],{"class":708},[691,2588,806],{"class":716},[691,2590,851],{"class":708},[691,2592,806],{"class":716},[691,2594,856],{"class":708},[691,2596,859],{"class":716},[691,2598,862],{"class":748},[691,2600,837],{"class":716},[691,2602,796],{"class":708},[691,2604,806],{"class":716},[691,2606,871],{"class":708},[691,2608,767],{"class":716},[691,2610,767],{"class":716},[691,2612,753],{"class":748},[691,2614,2615],{"class":693,"line":1047},[691,2616,788],{"emptyLinePlaceholder":787},[691,2618,2619,2621,2623,2625,2627,2629,2631,2633,2635,2637,2639,2641],{"class":693,"line":1064},[691,2620,2479],{"class":712},[691,2622,890],{"class":708},[691,2624,742],{"class":716},[691,2626,772],{"class":697},[691,2628,897],{"class":708},[691,2630,806],{"class":716},[691,2632,902],{"class":704},[691,2634,709],{"class":748},[691,2636,907],{"class":708},[691,2638,806],{"class":716},[691,2640,871],{"class":708},[691,2642,753],{"class":748},[691,2644,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675],{"class":693,"line":1072},[691,2646,2566],{"class":708},[691,2648,806],{"class":716},[691,2650,827],{"class":704},[691,2652,709],{"class":748},[691,2654,832],{"class":716},[691,2656,897],{"class":748},[691,2658,837],{"class":716},[691,2660,761],{"class":716},[691,2662,935],{"class":748},[691,2664,837],{"class":716},[691,2666,890],{"class":708},[691,2668,806],{"class":716},[691,2670,944],{"class":708},[691,2672,767],{"class":716},[691,2674,767],{"class":716},[691,2676,753],{"class":748},[691,2678,2679],{"class":693,"line":1078},[691,2680,788],{"emptyLinePlaceholder":787},[691,2682,2683,2686,2688,2690,2692,2694,2696,2698],{"class":693,"line":1083},[691,2684,2685],{"class":697},"        if",[691,2687,717],{"class":748},[691,2689,966],{"class":716},[691,2691,902],{"class":708},[691,2693,806],{"class":716},[691,2695,973],{"class":708},[691,2697,976],{"class":748},[691,2699,979],{"class":716},[691,2701,2702,2705,2707,2709],{"class":693,"line":1105},[691,2703,2704],{"class":697},"          throw",[691,2706,988],{"class":704},[691,2708,709],{"class":748},[691,2710,979],{"class":716},[691,2712,2713,2716,2718,2720],{"class":693,"line":1472},[691,2714,2715],{"class":748},"            status",[691,2717,837],{"class":716},[691,2719,1004],{"class":1003},[691,2721,1007],{"class":716},[691,2723,2724,2727,2729,2731,2733,2735],{"class":693,"line":1477},[691,2725,2726],{"class":748},"            message",[691,2728,837],{"class":716},[691,2730,1018],{"class":716},[691,2732,1022],{"class":1021},[691,2734,1025],{"class":716},[691,2736,1007],{"class":716},[691,2738,2739,2742,2744,2746,2748,2750],{"class":693,"line":1507},[691,2740,2741],{"class":748},"            why",[691,2743,837],{"class":716},[691,2745,890],{"class":708},[691,2747,806],{"class":716},[691,2749,1042],{"class":708},[691,2751,1007],{"class":716},[691,2753,2754,2757,2759,2761,2763,2765],{"class":693,"line":1910},[691,2755,2756],{"class":748},"            fix",[691,2758,837],{"class":716},[691,2760,1018],{"class":716},[691,2762,1057],{"class":1021},[691,2764,1025],{"class":716},[691,2766,1007],{"class":716},[691,2768,2769,2772],{"class":693,"line":1935},[691,2770,2771],{"class":716},"          }",[691,2773,753],{"class":748},[691,2775,2777],{"class":693,"line":2776},27,[691,2778,2779],{"class":716},"        }\n",[691,2781,2783],{"class":693,"line":2782},28,[691,2784,788],{"emptyLinePlaceholder":787},[691,2786,2788,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813],{"class":693,"line":2787},29,[691,2789,2790],{"class":697},"        return",[691,2792,1482],{"class":708},[691,2794,806],{"class":716},[691,2796,1233],{"class":704},[691,2798,709],{"class":748},[691,2800,832],{"class":716},[691,2802,1091],{"class":748},[691,2804,837],{"class":716},[691,2806,890],{"class":708},[691,2808,806],{"class":716},[691,2810,944],{"class":708},[691,2812,767],{"class":716},[691,2814,753],{"class":748},[691,2816,2818],{"class":693,"line":2817},30,[691,2819,2820],{"class":716},"      },\n",[691,2822,2824],{"class":693,"line":2823},31,[691,2825,2826],{"class":716},"    },\n",[691,2828,2830],{"class":693,"line":2829},32,[691,2831,2832],{"class":716},"  },\n",[691,2834,2836,2838],{"class":693,"line":2835},33,[691,2837,1108],{"class":716},[691,2839,753],{"class":708},[515,2841,2842],{"v-slot:react-router":517},[681,2843,2846],{"className":683,"code":2844,"filename":2845,"language":686,"meta":517,"style":517},"import { loggerContext } from 'evlog\u002Freact-router'\nimport { createError } from 'evlog'\n\nexport async function action({ request, context }: Route.ActionArgs) {\n  const log = context.get(loggerContext)\n  const { cartId } = await request.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return Response.json({ orderId: charge.id })\n}\n","app\u002Froutes\u002Fapi.checkout.tsx",[688,2847,2848,2868,2886,2890,2927,2949,2971,2975,2997,3047,3051,3077,3111,3115,3133,3143,3153,3167,3181,3195,3201,3205,3209,3237],{"__ignoreMap":517},[691,2849,2850,2852,2854,2857,2859,2861,2863,2866],{"class":693,"line":694},[691,2851,1123],{"class":697},[691,2853,761],{"class":716},[691,2855,2856],{"class":708}," loggerContext",[691,2858,767],{"class":716},[691,2860,1137],{"class":697},[691,2862,1018],{"class":716},[691,2864,2865],{"class":1021},"evlog\u002Freact-router",[691,2867,1145],{"class":716},[691,2869,2870,2872,2874,2876,2878,2880,2882,2884],{"class":693,"line":733},[691,2871,1123],{"class":697},[691,2873,761],{"class":716},[691,2875,988],{"class":708},[691,2877,767],{"class":716},[691,2879,1137],{"class":697},[691,2881,1018],{"class":716},[691,2883,1162],{"class":1021},[691,2885,1145],{"class":716},[691,2887,2888],{"class":693,"line":756},[691,2889,788],{"emptyLinePlaceholder":787},[691,2891,2892,2894,2896,2899,2902,2905,2907,2909,2912,2915,2918,2920,2923,2925],{"class":693,"line":784},[691,2893,698],{"class":697},[691,2895,1622],{"class":712},[691,2897,2898],{"class":712}," function",[691,2900,2901],{"class":704}," action",[691,2903,2904],{"class":716},"({",[691,2906,1628],{"class":720},[691,2908,859],{"class":716},[691,2910,2911],{"class":720}," context",[691,2913,2914],{"class":716}," }:",[691,2916,2917],{"class":1617}," Route",[691,2919,806],{"class":716},[691,2921,2922],{"class":1617},"ActionArgs",[691,2924,724],{"class":716},[691,2926,730],{"class":716},[691,2928,2929,2931,2933,2935,2937,2939,2942,2944,2947],{"class":693,"line":791},[691,2930,736],{"class":712},[691,2932,739],{"class":708},[691,2934,742],{"class":716},[691,2936,2911],{"class":708},[691,2938,806],{"class":716},[691,2940,2941],{"class":704},"get",[691,2943,709],{"class":748},[691,2945,2946],{"class":708},"loggerContext",[691,2948,753],{"class":748},[691,2950,2951,2953,2955,2957,2959,2961,2963,2965,2967,2969],{"class":693,"line":819},[691,2952,736],{"class":712},[691,2954,761],{"class":716},[691,2956,764],{"class":708},[691,2958,767],{"class":716},[691,2960,742],{"class":716},[691,2962,772],{"class":697},[691,2964,1628],{"class":708},[691,2966,806],{"class":716},[691,2968,1233],{"class":704},[691,2970,1211],{"class":748},[691,2972,2973],{"class":693,"line":880},[691,2974,788],{"emptyLinePlaceholder":787},[691,2976,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995],{"class":693,"line":885},[691,2978,736],{"class":712},[691,2980,796],{"class":708},[691,2982,742],{"class":716},[691,2984,772],{"class":697},[691,2986,803],{"class":708},[691,2988,806],{"class":716},[691,2990,809],{"class":704},[691,2992,709],{"class":748},[691,2994,814],{"class":708},[691,2996,753],{"class":748},[691,2998,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037,3039,3041,3043,3045],{"class":693,"line":916},[691,3000,822],{"class":708},[691,3002,806],{"class":716},[691,3004,827],{"class":704},[691,3006,709],{"class":748},[691,3008,832],{"class":716},[691,3010,796],{"class":748},[691,3012,837],{"class":716},[691,3014,761],{"class":716},[691,3016,842],{"class":748},[691,3018,837],{"class":716},[691,3020,796],{"class":708},[691,3022,806],{"class":716},[691,3024,851],{"class":708},[691,3026,806],{"class":716},[691,3028,856],{"class":708},[691,3030,859],{"class":716},[691,3032,862],{"class":748},[691,3034,837],{"class":716},[691,3036,796],{"class":708},[691,3038,806],{"class":716},[691,3040,871],{"class":708},[691,3042,767],{"class":716},[691,3044,767],{"class":716},[691,3046,753],{"class":748},[691,3048,3049],{"class":693,"line":953},[691,3050,788],{"emptyLinePlaceholder":787},[691,3052,3053,3055,3057,3059,3061,3063,3065,3067,3069,3071,3073,3075],{"class":693,"line":958},[691,3054,736],{"class":712},[691,3056,890],{"class":708},[691,3058,742],{"class":716},[691,3060,772],{"class":697},[691,3062,897],{"class":708},[691,3064,806],{"class":716},[691,3066,902],{"class":704},[691,3068,709],{"class":748},[691,3070,907],{"class":708},[691,3072,806],{"class":716},[691,3074,871],{"class":708},[691,3076,753],{"class":748},[691,3078,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105,3107,3109],{"class":693,"line":982},[691,3080,822],{"class":708},[691,3082,806],{"class":716},[691,3084,827],{"class":704},[691,3086,709],{"class":748},[691,3088,832],{"class":716},[691,3090,897],{"class":748},[691,3092,837],{"class":716},[691,3094,761],{"class":716},[691,3096,935],{"class":748},[691,3098,837],{"class":716},[691,3100,890],{"class":708},[691,3102,806],{"class":716},[691,3104,944],{"class":708},[691,3106,767],{"class":716},[691,3108,767],{"class":716},[691,3110,753],{"class":748},[691,3112,3113],{"class":693,"line":995},[691,3114,788],{"emptyLinePlaceholder":787},[691,3116,3117,3119,3121,3123,3125,3127,3129,3131],{"class":693,"line":1010},[691,3118,961],{"class":697},[691,3120,717],{"class":748},[691,3122,966],{"class":716},[691,3124,902],{"class":708},[691,3126,806],{"class":716},[691,3128,973],{"class":708},[691,3130,976],{"class":748},[691,3132,979],{"class":716},[691,3134,3135,3137,3139,3141],{"class":693,"line":1030},[691,3136,985],{"class":697},[691,3138,988],{"class":704},[691,3140,709],{"class":748},[691,3142,979],{"class":716},[691,3144,3145,3147,3149,3151],{"class":693,"line":1047},[691,3146,998],{"class":748},[691,3148,837],{"class":716},[691,3150,1004],{"class":1003},[691,3152,1007],{"class":716},[691,3154,3155,3157,3159,3161,3163,3165],{"class":693,"line":1064},[691,3156,1013],{"class":748},[691,3158,837],{"class":716},[691,3160,1018],{"class":716},[691,3162,1022],{"class":1021},[691,3164,1025],{"class":716},[691,3166,1007],{"class":716},[691,3168,3169,3171,3173,3175,3177,3179],{"class":693,"line":1072},[691,3170,1033],{"class":748},[691,3172,837],{"class":716},[691,3174,890],{"class":708},[691,3176,806],{"class":716},[691,3178,1042],{"class":708},[691,3180,1007],{"class":716},[691,3182,3183,3185,3187,3189,3191,3193],{"class":693,"line":1078},[691,3184,1050],{"class":748},[691,3186,837],{"class":716},[691,3188,1018],{"class":716},[691,3190,1057],{"class":1021},[691,3192,1025],{"class":716},[691,3194,1007],{"class":716},[691,3196,3197,3199],{"class":693,"line":1083},[691,3198,1067],{"class":716},[691,3200,753],{"class":748},[691,3202,3203],{"class":693,"line":1105},[691,3204,1075],{"class":716},[691,3206,3207],{"class":693,"line":1472},[691,3208,788],{"emptyLinePlaceholder":787},[691,3210,3211,3213,3215,3217,3219,3221,3223,3225,3227,3229,3231,3233,3235],{"class":693,"line":1477},[691,3212,1086],{"class":697},[691,3214,1482],{"class":708},[691,3216,806],{"class":716},[691,3218,1233],{"class":704},[691,3220,709],{"class":748},[691,3222,832],{"class":716},[691,3224,1091],{"class":748},[691,3226,837],{"class":716},[691,3228,890],{"class":708},[691,3230,806],{"class":716},[691,3232,944],{"class":708},[691,3234,767],{"class":716},[691,3236,753],{"class":748},[691,3238,3239],{"class":693,"line":1507},[691,3240,1938],{"class":716},[515,3242,3243],{"v-slot:nestjs":517},[681,3244,3247],{"className":683,"code":3245,"filename":3246,"language":686,"meta":517,"style":517},"import { Module } from '@nestjs\u002Fcommon'\nimport { EvlogModule } from 'evlog\u002Fnestjs'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\n@Module({\n  imports: [\n    EvlogModule.forRoot({\n      drain: createAxiomDrain(),\n    }),\n  ],\n})\nexport class AppModule {}\n","app.module.ts",[688,3248,3249,3269,3289,3309,3313,3325,3335,3349,3363,3371,3378,3384],{"__ignoreMap":517},[691,3250,3251,3253,3255,3258,3260,3262,3264,3267],{"class":693,"line":694},[691,3252,1123],{"class":697},[691,3254,761],{"class":716},[691,3256,3257],{"class":708}," Module",[691,3259,767],{"class":716},[691,3261,1137],{"class":697},[691,3263,1018],{"class":716},[691,3265,3266],{"class":1021},"@nestjs\u002Fcommon",[691,3268,1145],{"class":716},[691,3270,3271,3273,3275,3278,3280,3282,3284,3287],{"class":693,"line":733},[691,3272,1123],{"class":697},[691,3274,761],{"class":716},[691,3276,3277],{"class":708}," EvlogModule",[691,3279,767],{"class":716},[691,3281,1137],{"class":697},[691,3283,1018],{"class":716},[691,3285,3286],{"class":1021},"evlog\u002Fnestjs",[691,3288,1145],{"class":716},[691,3290,3291,3293,3295,3298,3300,3302,3304,3307],{"class":693,"line":756},[691,3292,1123],{"class":697},[691,3294,761],{"class":716},[691,3296,3297],{"class":708}," createAxiomDrain",[691,3299,767],{"class":716},[691,3301,1137],{"class":697},[691,3303,1018],{"class":716},[691,3305,3306],{"class":1021},"evlog\u002Faxiom",[691,3308,1145],{"class":716},[691,3310,3311],{"class":693,"line":784},[691,3312,788],{"emptyLinePlaceholder":787},[691,3314,3315,3318,3321,3323],{"class":693,"line":791},[691,3316,3317],{"class":716},"@",[691,3319,3320],{"class":704},"Module",[691,3322,709],{"class":708},[691,3324,979],{"class":716},[691,3326,3327,3330,3332],{"class":693,"line":819},[691,3328,3329],{"class":748},"  imports",[691,3331,837],{"class":716},[691,3333,3334],{"class":708}," [\n",[691,3336,3337,3340,3342,3345,3347],{"class":693,"line":880},[691,3338,3339],{"class":708},"    EvlogModule",[691,3341,806],{"class":716},[691,3343,3344],{"class":704},"forRoot",[691,3346,709],{"class":708},[691,3348,979],{"class":716},[691,3350,3351,3354,3356,3358,3361],{"class":693,"line":885},[691,3352,3353],{"class":748},"      drain",[691,3355,837],{"class":716},[691,3357,3297],{"class":704},[691,3359,3360],{"class":708},"()",[691,3362,1007],{"class":716},[691,3364,3365,3367,3369],{"class":693,"line":916},[691,3366,1067],{"class":716},[691,3368,724],{"class":708},[691,3370,1007],{"class":716},[691,3372,3373,3376],{"class":693,"line":953},[691,3374,3375],{"class":708},"  ]",[691,3377,1007],{"class":716},[691,3379,3380,3382],{"class":693,"line":958},[691,3381,1108],{"class":716},[691,3383,753],{"class":708},[691,3385,3386,3388,3391,3394],{"class":693,"line":982},[691,3387,698],{"class":697},[691,3389,3390],{"class":712}," class",[691,3392,3393],{"class":1617}," AppModule",[691,3395,3396],{"class":716}," {}\n",[515,3398,3399],{"v-slot:express":517},[681,3400,3403],{"className":683,"code":3401,"filename":3402,"language":686,"meta":517,"style":517},"import { evlog, useLogger } from 'evlog\u002Fexpress'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = express()\napp.use(evlog({ drain: createAxiomDrain() }))\n\napp.post('\u002Fcheckout', async (req, res) => {\n  const log = useLogger()\n  const { cartId } = req.body\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  res.json({ orderId: charge.id })\n})\n","src\u002Findex.ts",[688,3404,3405,3429,3447,3451,3466,3499,3503,3540,3552,3571,3575,3597,3647,3651,3677,3711,3715,3742],{"__ignoreMap":517},[691,3406,3407,3409,3411,3414,3416,3418,3420,3422,3424,3427],{"class":693,"line":694},[691,3408,1123],{"class":697},[691,3410,761],{"class":716},[691,3412,3413],{"class":708}," evlog",[691,3415,859],{"class":716},[691,3417,745],{"class":708},[691,3419,767],{"class":716},[691,3421,1137],{"class":697},[691,3423,1018],{"class":716},[691,3425,3426],{"class":1021},"evlog\u002Fexpress",[691,3428,1145],{"class":716},[691,3430,3431,3433,3435,3437,3439,3441,3443,3445],{"class":693,"line":733},[691,3432,1123],{"class":697},[691,3434,761],{"class":716},[691,3436,3297],{"class":708},[691,3438,767],{"class":716},[691,3440,1137],{"class":697},[691,3442,1018],{"class":716},[691,3444,3306],{"class":1021},[691,3446,1145],{"class":716},[691,3448,3449],{"class":693,"line":756},[691,3450,788],{"emptyLinePlaceholder":787},[691,3452,3453,3456,3459,3461,3464],{"class":693,"line":784},[691,3454,3455],{"class":712},"const",[691,3457,3458],{"class":708}," app ",[691,3460,1181],{"class":716},[691,3462,3463],{"class":704}," express",[691,3465,1211],{"class":708},[691,3467,3468,3471,3473,3476,3478,3480,3482,3484,3487,3489,3491,3494,3496],{"class":693,"line":791},[691,3469,3470],{"class":708},"app",[691,3472,806],{"class":716},[691,3474,3475],{"class":704},"use",[691,3477,709],{"class":708},[691,3479,1162],{"class":704},[691,3481,709],{"class":708},[691,3483,832],{"class":716},[691,3485,3486],{"class":748}," drain",[691,3488,837],{"class":716},[691,3490,3297],{"class":704},[691,3492,3493],{"class":708},"() ",[691,3495,1108],{"class":716},[691,3497,3498],{"class":708},"))\n",[691,3500,3501],{"class":693,"line":819},[691,3502,788],{"emptyLinePlaceholder":787},[691,3504,3505,3507,3509,3512,3514,3516,3519,3521,3523,3525,3527,3529,3531,3534,3536,3538],{"class":693,"line":880},[691,3506,3470],{"class":708},[691,3508,806],{"class":716},[691,3510,3511],{"class":704},"post",[691,3513,709],{"class":708},[691,3515,1025],{"class":716},[691,3517,3518],{"class":1021},"\u002Fcheckout",[691,3520,1025],{"class":716},[691,3522,859],{"class":716},[691,3524,1622],{"class":712},[691,3526,717],{"class":716},[691,3528,1192],{"class":720},[691,3530,859],{"class":716},[691,3532,3533],{"class":720}," res",[691,3535,724],{"class":716},[691,3537,727],{"class":712},[691,3539,730],{"class":716},[691,3541,3542,3544,3546,3548,3550],{"class":693,"line":885},[691,3543,736],{"class":712},[691,3545,739],{"class":708},[691,3547,742],{"class":716},[691,3549,745],{"class":704},[691,3551,1211],{"class":748},[691,3553,3554,3556,3558,3560,3562,3564,3566,3568],{"class":693,"line":916},[691,3555,736],{"class":712},[691,3557,761],{"class":716},[691,3559,764],{"class":708},[691,3561,767],{"class":716},[691,3563,742],{"class":716},[691,3565,1228],{"class":708},[691,3567,806],{"class":716},[691,3569,3570],{"class":708},"body\n",[691,3572,3573],{"class":693,"line":953},[691,3574,788],{"emptyLinePlaceholder":787},[691,3576,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595],{"class":693,"line":958},[691,3578,736],{"class":712},[691,3580,796],{"class":708},[691,3582,742],{"class":716},[691,3584,772],{"class":697},[691,3586,803],{"class":708},[691,3588,806],{"class":716},[691,3590,809],{"class":704},[691,3592,709],{"class":748},[691,3594,814],{"class":708},[691,3596,753],{"class":748},[691,3598,3599,3601,3603,3605,3607,3609,3611,3613,3615,3617,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643,3645],{"class":693,"line":982},[691,3600,822],{"class":708},[691,3602,806],{"class":716},[691,3604,827],{"class":704},[691,3606,709],{"class":748},[691,3608,832],{"class":716},[691,3610,796],{"class":748},[691,3612,837],{"class":716},[691,3614,761],{"class":716},[691,3616,842],{"class":748},[691,3618,837],{"class":716},[691,3620,796],{"class":708},[691,3622,806],{"class":716},[691,3624,851],{"class":708},[691,3626,806],{"class":716},[691,3628,856],{"class":708},[691,3630,859],{"class":716},[691,3632,862],{"class":748},[691,3634,837],{"class":716},[691,3636,796],{"class":708},[691,3638,806],{"class":716},[691,3640,871],{"class":708},[691,3642,767],{"class":716},[691,3644,767],{"class":716},[691,3646,753],{"class":748},[691,3648,3649],{"class":693,"line":995},[691,3650,788],{"emptyLinePlaceholder":787},[691,3652,3653,3655,3657,3659,3661,3663,3665,3667,3669,3671,3673,3675],{"class":693,"line":1010},[691,3654,736],{"class":712},[691,3656,890],{"class":708},[691,3658,742],{"class":716},[691,3660,772],{"class":697},[691,3662,897],{"class":708},[691,3664,806],{"class":716},[691,3666,902],{"class":704},[691,3668,709],{"class":748},[691,3670,907],{"class":708},[691,3672,806],{"class":716},[691,3674,871],{"class":708},[691,3676,753],{"class":748},[691,3678,3679,3681,3683,3685,3687,3689,3691,3693,3695,3697,3699,3701,3703,3705,3707,3709],{"class":693,"line":1030},[691,3680,822],{"class":708},[691,3682,806],{"class":716},[691,3684,827],{"class":704},[691,3686,709],{"class":748},[691,3688,832],{"class":716},[691,3690,897],{"class":748},[691,3692,837],{"class":716},[691,3694,761],{"class":716},[691,3696,935],{"class":748},[691,3698,837],{"class":716},[691,3700,890],{"class":708},[691,3702,806],{"class":716},[691,3704,944],{"class":708},[691,3706,767],{"class":716},[691,3708,767],{"class":716},[691,3710,753],{"class":748},[691,3712,3713],{"class":693,"line":1047},[691,3714,788],{"emptyLinePlaceholder":787},[691,3716,3717,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740],{"class":693,"line":1064},[691,3718,3719],{"class":708},"  res",[691,3721,806],{"class":716},[691,3723,1233],{"class":704},[691,3725,709],{"class":748},[691,3727,832],{"class":716},[691,3729,1091],{"class":748},[691,3731,837],{"class":716},[691,3733,890],{"class":708},[691,3735,806],{"class":716},[691,3737,944],{"class":708},[691,3739,767],{"class":716},[691,3741,753],{"class":748},[691,3743,3744,3746],{"class":693,"line":1072},[691,3745,1108],{"class":716},[691,3747,753],{"class":708},[515,3749,3750],{"v-slot:hono":517},[681,3751,3753],{"className":683,"code":3752,"filename":3402,"language":686,"meta":517,"style":517},"import { evlog, type EvlogVariables } from 'evlog\u002Fhono'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = new Hono\u003CEvlogVariables>()\napp.use(evlog({ drain: createAxiomDrain() }))\n\napp.post('\u002Fcheckout', async (c) => {\n  const log = c.get('log')\n  const { cartId } = await c.req.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  return c.json({ orderId: charge.id })\n})\n",[688,3754,3755,3781,3799,3803,3828,3856,3860,3891,3916,3942,3946,3968,4018,4022,4048,4082,4086,4114],{"__ignoreMap":517},[691,3756,3757,3759,3761,3763,3765,3767,3770,3772,3774,3776,3779],{"class":693,"line":694},[691,3758,1123],{"class":697},[691,3760,761],{"class":716},[691,3762,3413],{"class":708},[691,3764,859],{"class":716},[691,3766,1583],{"class":697},[691,3768,3769],{"class":708}," EvlogVariables",[691,3771,767],{"class":716},[691,3773,1137],{"class":697},[691,3775,1018],{"class":716},[691,3777,3778],{"class":1021},"evlog\u002Fhono",[691,3780,1145],{"class":716},[691,3782,3783,3785,3787,3789,3791,3793,3795,3797],{"class":693,"line":733},[691,3784,1123],{"class":697},[691,3786,761],{"class":716},[691,3788,3297],{"class":708},[691,3790,767],{"class":716},[691,3792,1137],{"class":697},[691,3794,1018],{"class":716},[691,3796,3306],{"class":1021},[691,3798,1145],{"class":716},[691,3800,3801],{"class":693,"line":756},[691,3802,788],{"emptyLinePlaceholder":787},[691,3804,3805,3807,3809,3811,3814,3817,3820,3823,3826],{"class":693,"line":784},[691,3806,3455],{"class":712},[691,3808,3458],{"class":708},[691,3810,1181],{"class":716},[691,3812,3813],{"class":716}," new",[691,3815,3816],{"class":704}," Hono",[691,3818,3819],{"class":716},"\u003C",[691,3821,3822],{"class":1617},"EvlogVariables",[691,3824,3825],{"class":716},">",[691,3827,1211],{"class":708},[691,3829,3830,3832,3834,3836,3838,3840,3842,3844,3846,3848,3850,3852,3854],{"class":693,"line":791},[691,3831,3470],{"class":708},[691,3833,806],{"class":716},[691,3835,3475],{"class":704},[691,3837,709],{"class":708},[691,3839,1162],{"class":704},[691,3841,709],{"class":708},[691,3843,832],{"class":716},[691,3845,3486],{"class":748},[691,3847,837],{"class":716},[691,3849,3297],{"class":704},[691,3851,3493],{"class":708},[691,3853,1108],{"class":716},[691,3855,3498],{"class":708},[691,3857,3858],{"class":693,"line":819},[691,3859,788],{"emptyLinePlaceholder":787},[691,3861,3862,3864,3866,3868,3870,3872,3874,3876,3878,3880,3882,3885,3887,3889],{"class":693,"line":880},[691,3863,3470],{"class":708},[691,3865,806],{"class":716},[691,3867,3511],{"class":704},[691,3869,709],{"class":708},[691,3871,1025],{"class":716},[691,3873,3518],{"class":1021},[691,3875,1025],{"class":716},[691,3877,859],{"class":716},[691,3879,1622],{"class":712},[691,3881,717],{"class":716},[691,3883,3884],{"class":720},"c",[691,3886,724],{"class":716},[691,3888,727],{"class":712},[691,3890,730],{"class":716},[691,3892,3893,3895,3897,3899,3902,3904,3906,3908,3910,3912,3914],{"class":693,"line":885},[691,3894,736],{"class":712},[691,3896,739],{"class":708},[691,3898,742],{"class":716},[691,3900,3901],{"class":708}," c",[691,3903,806],{"class":716},[691,3905,2941],{"class":704},[691,3907,709],{"class":748},[691,3909,1025],{"class":716},[691,3911,2507],{"class":1021},[691,3913,1025],{"class":716},[691,3915,753],{"class":748},[691,3917,3918,3920,3922,3924,3926,3928,3930,3932,3934,3936,3938,3940],{"class":693,"line":916},[691,3919,736],{"class":712},[691,3921,761],{"class":716},[691,3923,764],{"class":708},[691,3925,767],{"class":716},[691,3927,742],{"class":716},[691,3929,772],{"class":697},[691,3931,3901],{"class":708},[691,3933,806],{"class":716},[691,3935,1192],{"class":708},[691,3937,806],{"class":716},[691,3939,1233],{"class":704},[691,3941,1211],{"class":748},[691,3943,3944],{"class":693,"line":953},[691,3945,788],{"emptyLinePlaceholder":787},[691,3947,3948,3950,3952,3954,3956,3958,3960,3962,3964,3966],{"class":693,"line":958},[691,3949,736],{"class":712},[691,3951,796],{"class":708},[691,3953,742],{"class":716},[691,3955,772],{"class":697},[691,3957,803],{"class":708},[691,3959,806],{"class":716},[691,3961,809],{"class":704},[691,3963,709],{"class":748},[691,3965,814],{"class":708},[691,3967,753],{"class":748},[691,3969,3970,3972,3974,3976,3978,3980,3982,3984,3986,3988,3990,3992,3994,3996,3998,4000,4002,4004,4006,4008,4010,4012,4014,4016],{"class":693,"line":982},[691,3971,822],{"class":708},[691,3973,806],{"class":716},[691,3975,827],{"class":704},[691,3977,709],{"class":748},[691,3979,832],{"class":716},[691,3981,796],{"class":748},[691,3983,837],{"class":716},[691,3985,761],{"class":716},[691,3987,842],{"class":748},[691,3989,837],{"class":716},[691,3991,796],{"class":708},[691,3993,806],{"class":716},[691,3995,851],{"class":708},[691,3997,806],{"class":716},[691,3999,856],{"class":708},[691,4001,859],{"class":716},[691,4003,862],{"class":748},[691,4005,837],{"class":716},[691,4007,796],{"class":708},[691,4009,806],{"class":716},[691,4011,871],{"class":708},[691,4013,767],{"class":716},[691,4015,767],{"class":716},[691,4017,753],{"class":748},[691,4019,4020],{"class":693,"line":995},[691,4021,788],{"emptyLinePlaceholder":787},[691,4023,4024,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4046],{"class":693,"line":1010},[691,4025,736],{"class":712},[691,4027,890],{"class":708},[691,4029,742],{"class":716},[691,4031,772],{"class":697},[691,4033,897],{"class":708},[691,4035,806],{"class":716},[691,4037,902],{"class":704},[691,4039,709],{"class":748},[691,4041,907],{"class":708},[691,4043,806],{"class":716},[691,4045,871],{"class":708},[691,4047,753],{"class":748},[691,4049,4050,4052,4054,4056,4058,4060,4062,4064,4066,4068,4070,4072,4074,4076,4078,4080],{"class":693,"line":1030},[691,4051,822],{"class":708},[691,4053,806],{"class":716},[691,4055,827],{"class":704},[691,4057,709],{"class":748},[691,4059,832],{"class":716},[691,4061,897],{"class":748},[691,4063,837],{"class":716},[691,4065,761],{"class":716},[691,4067,935],{"class":748},[691,4069,837],{"class":716},[691,4071,890],{"class":708},[691,4073,806],{"class":716},[691,4075,944],{"class":708},[691,4077,767],{"class":716},[691,4079,767],{"class":716},[691,4081,753],{"class":748},[691,4083,4084],{"class":693,"line":1047},[691,4085,788],{"emptyLinePlaceholder":787},[691,4087,4088,4090,4092,4094,4096,4098,4100,4102,4104,4106,4108,4110,4112],{"class":693,"line":1064},[691,4089,1086],{"class":697},[691,4091,3901],{"class":708},[691,4093,806],{"class":716},[691,4095,1233],{"class":704},[691,4097,709],{"class":748},[691,4099,832],{"class":716},[691,4101,1091],{"class":748},[691,4103,837],{"class":716},[691,4105,890],{"class":708},[691,4107,806],{"class":716},[691,4109,944],{"class":708},[691,4111,767],{"class":716},[691,4113,753],{"class":748},[691,4115,4116,4118],{"class":693,"line":1072},[691,4117,1108],{"class":716},[691,4119,753],{"class":708},[515,4121,4122],{"v-slot:fastify":517},[681,4123,4125],{"className":683,"code":4124,"filename":3402,"language":686,"meta":517,"style":517},"import { evlog } from 'evlog\u002Ffastify'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = Fastify({ logger: false })\nawait app.register(evlog, { drain: createAxiomDrain() })\n\napp.post('\u002Fcheckout', async (request) => {\n  const { cartId } = request.body\n\n  const cart = await db.findCart(cartId)\n  request.log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  request.log.set({ stripe: { chargeId: charge.id } })\n\n  return { orderId: charge.id }\n})\n",[688,4126,4127,4146,4164,4168,4196,4228,4232,4263,4281,4285,4307,4362,4366,4392,4430,4434,4452],{"__ignoreMap":517},[691,4128,4129,4131,4133,4135,4137,4139,4141,4144],{"class":693,"line":694},[691,4130,1123],{"class":697},[691,4132,761],{"class":716},[691,4134,3413],{"class":708},[691,4136,767],{"class":716},[691,4138,1137],{"class":697},[691,4140,1018],{"class":716},[691,4142,4143],{"class":1021},"evlog\u002Ffastify",[691,4145,1145],{"class":716},[691,4147,4148,4150,4152,4154,4156,4158,4160,4162],{"class":693,"line":733},[691,4149,1123],{"class":697},[691,4151,761],{"class":716},[691,4153,3297],{"class":708},[691,4155,767],{"class":716},[691,4157,1137],{"class":697},[691,4159,1018],{"class":716},[691,4161,3306],{"class":1021},[691,4163,1145],{"class":716},[691,4165,4166],{"class":693,"line":756},[691,4167,788],{"emptyLinePlaceholder":787},[691,4169,4170,4172,4174,4176,4179,4181,4183,4186,4188,4192,4194],{"class":693,"line":784},[691,4171,3455],{"class":712},[691,4173,3458],{"class":708},[691,4175,1181],{"class":716},[691,4177,4178],{"class":704}," Fastify",[691,4180,709],{"class":708},[691,4182,832],{"class":716},[691,4184,4185],{"class":748}," logger",[691,4187,837],{"class":716},[691,4189,4191],{"class":4190},"sfNiH"," false",[691,4193,767],{"class":716},[691,4195,753],{"class":708},[691,4197,4198,4201,4204,4206,4209,4212,4214,4216,4218,4220,4222,4224,4226],{"class":693,"line":791},[691,4199,4200],{"class":697},"await",[691,4202,4203],{"class":708}," app",[691,4205,806],{"class":716},[691,4207,4208],{"class":704},"register",[691,4210,4211],{"class":708},"(evlog",[691,4213,859],{"class":716},[691,4215,761],{"class":716},[691,4217,3486],{"class":748},[691,4219,837],{"class":716},[691,4221,3297],{"class":704},[691,4223,3493],{"class":708},[691,4225,1108],{"class":716},[691,4227,753],{"class":708},[691,4229,4230],{"class":693,"line":819},[691,4231,788],{"emptyLinePlaceholder":787},[691,4233,4234,4236,4238,4240,4242,4244,4246,4248,4250,4252,4254,4257,4259,4261],{"class":693,"line":880},[691,4235,3470],{"class":708},[691,4237,806],{"class":716},[691,4239,3511],{"class":704},[691,4241,709],{"class":708},[691,4243,1025],{"class":716},[691,4245,3518],{"class":1021},[691,4247,1025],{"class":716},[691,4249,859],{"class":716},[691,4251,1622],{"class":712},[691,4253,717],{"class":716},[691,4255,4256],{"class":720},"request",[691,4258,724],{"class":716},[691,4260,727],{"class":712},[691,4262,730],{"class":716},[691,4264,4265,4267,4269,4271,4273,4275,4277,4279],{"class":693,"line":885},[691,4266,736],{"class":712},[691,4268,761],{"class":716},[691,4270,764],{"class":708},[691,4272,767],{"class":716},[691,4274,742],{"class":716},[691,4276,1628],{"class":708},[691,4278,806],{"class":716},[691,4280,3570],{"class":708},[691,4282,4283],{"class":693,"line":916},[691,4284,788],{"emptyLinePlaceholder":787},[691,4286,4287,4289,4291,4293,4295,4297,4299,4301,4303,4305],{"class":693,"line":953},[691,4288,736],{"class":712},[691,4290,796],{"class":708},[691,4292,742],{"class":716},[691,4294,772],{"class":697},[691,4296,803],{"class":708},[691,4298,806],{"class":716},[691,4300,809],{"class":704},[691,4302,709],{"class":748},[691,4304,814],{"class":708},[691,4306,753],{"class":748},[691,4308,4309,4312,4314,4316,4318,4320,4322,4324,4326,4328,4330,4332,4334,4336,4338,4340,4342,4344,4346,4348,4350,4352,4354,4356,4358,4360],{"class":693,"line":958},[691,4310,4311],{"class":708},"  request",[691,4313,806],{"class":716},[691,4315,2507],{"class":708},[691,4317,806],{"class":716},[691,4319,827],{"class":704},[691,4321,709],{"class":748},[691,4323,832],{"class":716},[691,4325,796],{"class":748},[691,4327,837],{"class":716},[691,4329,761],{"class":716},[691,4331,842],{"class":748},[691,4333,837],{"class":716},[691,4335,796],{"class":708},[691,4337,806],{"class":716},[691,4339,851],{"class":708},[691,4341,806],{"class":716},[691,4343,856],{"class":708},[691,4345,859],{"class":716},[691,4347,862],{"class":748},[691,4349,837],{"class":716},[691,4351,796],{"class":708},[691,4353,806],{"class":716},[691,4355,871],{"class":708},[691,4357,767],{"class":716},[691,4359,767],{"class":716},[691,4361,753],{"class":748},[691,4363,4364],{"class":693,"line":982},[691,4365,788],{"emptyLinePlaceholder":787},[691,4367,4368,4370,4372,4374,4376,4378,4380,4382,4384,4386,4388,4390],{"class":693,"line":995},[691,4369,736],{"class":712},[691,4371,890],{"class":708},[691,4373,742],{"class":716},[691,4375,772],{"class":697},[691,4377,897],{"class":708},[691,4379,806],{"class":716},[691,4381,902],{"class":704},[691,4383,709],{"class":748},[691,4385,907],{"class":708},[691,4387,806],{"class":716},[691,4389,871],{"class":708},[691,4391,753],{"class":748},[691,4393,4394,4396,4398,4400,4402,4404,4406,4408,4410,4412,4414,4416,4418,4420,4422,4424,4426,4428],{"class":693,"line":1010},[691,4395,4311],{"class":708},[691,4397,806],{"class":716},[691,4399,2507],{"class":708},[691,4401,806],{"class":716},[691,4403,827],{"class":704},[691,4405,709],{"class":748},[691,4407,832],{"class":716},[691,4409,897],{"class":748},[691,4411,837],{"class":716},[691,4413,761],{"class":716},[691,4415,935],{"class":748},[691,4417,837],{"class":716},[691,4419,890],{"class":708},[691,4421,806],{"class":716},[691,4423,944],{"class":708},[691,4425,767],{"class":716},[691,4427,767],{"class":716},[691,4429,753],{"class":748},[691,4431,4432],{"class":693,"line":1030},[691,4433,788],{"emptyLinePlaceholder":787},[691,4435,4436,4438,4440,4442,4444,4446,4448,4450],{"class":693,"line":1047},[691,4437,1086],{"class":697},[691,4439,761],{"class":716},[691,4441,1091],{"class":748},[691,4443,837],{"class":716},[691,4445,890],{"class":708},[691,4447,806],{"class":716},[691,4449,944],{"class":708},[691,4451,1102],{"class":716},[691,4453,4454,4456],{"class":693,"line":1064},[691,4455,1108],{"class":716},[691,4457,753],{"class":708},[515,4459,4460],{"v-slot:elysia":517},[681,4461,4463],{"className":683,"code":4462,"filename":3402,"language":686,"meta":517,"style":517},"import { evlog } from 'evlog\u002Felysia'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = new Elysia()\n  .use(evlog({ drain: createAxiomDrain() }))\n  .post('\u002Fcheckout', async ({ log, body }) => {\n    const { cartId } = body\n\n    const cart = await db.findCart(cartId)\n    log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n    const charge = await stripe.charge(cart.total)\n    log.set({ stripe: { chargeId: charge.id } })\n\n    return { orderId: charge.id }\n  })\n",[688,4464,4465,4484,4502,4506,4521,4548,4581,4597,4601,4623,4674,4678,4704,4738,4742,4761],{"__ignoreMap":517},[691,4466,4467,4469,4471,4473,4475,4477,4479,4482],{"class":693,"line":694},[691,4468,1123],{"class":697},[691,4470,761],{"class":716},[691,4472,3413],{"class":708},[691,4474,767],{"class":716},[691,4476,1137],{"class":697},[691,4478,1018],{"class":716},[691,4480,4481],{"class":1021},"evlog\u002Felysia",[691,4483,1145],{"class":716},[691,4485,4486,4488,4490,4492,4494,4496,4498,4500],{"class":693,"line":733},[691,4487,1123],{"class":697},[691,4489,761],{"class":716},[691,4491,3297],{"class":708},[691,4493,767],{"class":716},[691,4495,1137],{"class":697},[691,4497,1018],{"class":716},[691,4499,3306],{"class":1021},[691,4501,1145],{"class":716},[691,4503,4504],{"class":693,"line":756},[691,4505,788],{"emptyLinePlaceholder":787},[691,4507,4508,4510,4512,4514,4516,4519],{"class":693,"line":784},[691,4509,3455],{"class":712},[691,4511,3458],{"class":708},[691,4513,1181],{"class":716},[691,4515,3813],{"class":716},[691,4517,4518],{"class":704}," Elysia",[691,4520,1211],{"class":708},[691,4522,4523,4526,4528,4530,4532,4534,4536,4538,4540,4542,4544,4546],{"class":693,"line":791},[691,4524,4525],{"class":716},"  .",[691,4527,3475],{"class":704},[691,4529,709],{"class":708},[691,4531,1162],{"class":704},[691,4533,709],{"class":708},[691,4535,832],{"class":716},[691,4537,3486],{"class":748},[691,4539,837],{"class":716},[691,4541,3297],{"class":704},[691,4543,3493],{"class":708},[691,4545,1108],{"class":716},[691,4547,3498],{"class":708},[691,4549,4550,4552,4554,4556,4558,4560,4562,4564,4566,4568,4570,4572,4575,4577,4579],{"class":693,"line":819},[691,4551,4525],{"class":716},[691,4553,3511],{"class":704},[691,4555,709],{"class":708},[691,4557,1025],{"class":716},[691,4559,3518],{"class":1021},[691,4561,1025],{"class":716},[691,4563,859],{"class":716},[691,4565,1622],{"class":712},[691,4567,1625],{"class":716},[691,4569,739],{"class":720},[691,4571,859],{"class":716},[691,4573,4574],{"class":720}," body",[691,4576,1631],{"class":716},[691,4578,727],{"class":712},[691,4580,730],{"class":716},[691,4582,4583,4586,4588,4590,4592,4594],{"class":693,"line":880},[691,4584,4585],{"class":712},"    const",[691,4587,761],{"class":716},[691,4589,764],{"class":708},[691,4591,767],{"class":716},[691,4593,742],{"class":716},[691,4595,4596],{"class":708}," body\n",[691,4598,4599],{"class":693,"line":885},[691,4600,788],{"emptyLinePlaceholder":787},[691,4602,4603,4605,4607,4609,4611,4613,4615,4617,4619,4621],{"class":693,"line":916},[691,4604,4585],{"class":712},[691,4606,796],{"class":708},[691,4608,742],{"class":716},[691,4610,772],{"class":697},[691,4612,803],{"class":708},[691,4614,806],{"class":716},[691,4616,809],{"class":704},[691,4618,709],{"class":748},[691,4620,814],{"class":708},[691,4622,753],{"class":748},[691,4624,4625,4628,4630,4632,4634,4636,4638,4640,4642,4644,4646,4648,4650,4652,4654,4656,4658,4660,4662,4664,4666,4668,4670,4672],{"class":693,"line":953},[691,4626,4627],{"class":708},"    log",[691,4629,806],{"class":716},[691,4631,827],{"class":704},[691,4633,709],{"class":748},[691,4635,832],{"class":716},[691,4637,796],{"class":748},[691,4639,837],{"class":716},[691,4641,761],{"class":716},[691,4643,842],{"class":748},[691,4645,837],{"class":716},[691,4647,796],{"class":708},[691,4649,806],{"class":716},[691,4651,851],{"class":708},[691,4653,806],{"class":716},[691,4655,856],{"class":708},[691,4657,859],{"class":716},[691,4659,862],{"class":748},[691,4661,837],{"class":716},[691,4663,796],{"class":708},[691,4665,806],{"class":716},[691,4667,871],{"class":708},[691,4669,767],{"class":716},[691,4671,767],{"class":716},[691,4673,753],{"class":748},[691,4675,4676],{"class":693,"line":958},[691,4677,788],{"emptyLinePlaceholder":787},[691,4679,4680,4682,4684,4686,4688,4690,4692,4694,4696,4698,4700,4702],{"class":693,"line":982},[691,4681,4585],{"class":712},[691,4683,890],{"class":708},[691,4685,742],{"class":716},[691,4687,772],{"class":697},[691,4689,897],{"class":708},[691,4691,806],{"class":716},[691,4693,902],{"class":704},[691,4695,709],{"class":748},[691,4697,907],{"class":708},[691,4699,806],{"class":716},[691,4701,871],{"class":708},[691,4703,753],{"class":748},[691,4705,4706,4708,4710,4712,4714,4716,4718,4720,4722,4724,4726,4728,4730,4732,4734,4736],{"class":693,"line":995},[691,4707,4627],{"class":708},[691,4709,806],{"class":716},[691,4711,827],{"class":704},[691,4713,709],{"class":748},[691,4715,832],{"class":716},[691,4717,897],{"class":748},[691,4719,837],{"class":716},[691,4721,761],{"class":716},[691,4723,935],{"class":748},[691,4725,837],{"class":716},[691,4727,890],{"class":708},[691,4729,806],{"class":716},[691,4731,944],{"class":708},[691,4733,767],{"class":716},[691,4735,767],{"class":716},[691,4737,753],{"class":748},[691,4739,4740],{"class":693,"line":1010},[691,4741,788],{"emptyLinePlaceholder":787},[691,4743,4744,4747,4749,4751,4753,4755,4757,4759],{"class":693,"line":1030},[691,4745,4746],{"class":697},"    return",[691,4748,761],{"class":716},[691,4750,1091],{"class":748},[691,4752,837],{"class":716},[691,4754,890],{"class":708},[691,4756,806],{"class":716},[691,4758,944],{"class":708},[691,4760,1102],{"class":716},[691,4762,4763,4766],{"class":693,"line":1047},[691,4764,4765],{"class":716},"  }",[691,4767,753],{"class":708},[515,4769,4770],{"v-slot:orpc":517},[681,4771,4774],{"className":683,"code":4772,"filename":4773,"language":686,"meta":517,"style":517},"import { os } from '@orpc\u002Fserver'\nimport { RPCHandler } from '@orpc\u002Fserver\u002Ffetch'\nimport { evlog, withEvlog, type EvlogOrpcContext } from 'evlog\u002Forpc'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst base = os.$context\u003CEvlogOrpcContext>().use(evlog())\n\nconst router = {\n  checkout: base\n    .input(z.object({ cartId: z.string() }))\n    .handler(async ({ input, context }) => {\n      const cart = await db.findCart(input.cartId)\n      context.log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n      const charge = await stripe.charge(cart.total)\n      context.log.set({ stripe: { chargeId: charge.id } })\n\n      return { orderId: charge.id }\n    }),\n}\n\nconst handler = withEvlog(new RPCHandler(router), { drain: createAxiomDrain() })\n","server\u002Forpc.ts",[688,4775,4776,4796,4816,4846,4864,4868,4904,4908,4919,4929,4967,4993,5020,5075,5079,5105,5143,5147,5166,5174,5178,5182],{"__ignoreMap":517},[691,4777,4778,4780,4782,4785,4787,4789,4791,4794],{"class":693,"line":694},[691,4779,1123],{"class":697},[691,4781,761],{"class":716},[691,4783,4784],{"class":708}," os",[691,4786,767],{"class":716},[691,4788,1137],{"class":697},[691,4790,1018],{"class":716},[691,4792,4793],{"class":1021},"@orpc\u002Fserver",[691,4795,1145],{"class":716},[691,4797,4798,4800,4802,4805,4807,4809,4811,4814],{"class":693,"line":733},[691,4799,1123],{"class":697},[691,4801,761],{"class":716},[691,4803,4804],{"class":708}," RPCHandler",[691,4806,767],{"class":716},[691,4808,1137],{"class":697},[691,4810,1018],{"class":716},[691,4812,4813],{"class":1021},"@orpc\u002Fserver\u002Ffetch",[691,4815,1145],{"class":716},[691,4817,4818,4820,4822,4824,4826,4828,4830,4832,4835,4837,4839,4841,4844],{"class":693,"line":756},[691,4819,1123],{"class":697},[691,4821,761],{"class":716},[691,4823,3413],{"class":708},[691,4825,859],{"class":716},[691,4827,1128],{"class":708},[691,4829,859],{"class":716},[691,4831,1583],{"class":697},[691,4833,4834],{"class":708}," EvlogOrpcContext",[691,4836,767],{"class":716},[691,4838,1137],{"class":697},[691,4840,1018],{"class":716},[691,4842,4843],{"class":1021},"evlog\u002Forpc",[691,4845,1145],{"class":716},[691,4847,4848,4850,4852,4854,4856,4858,4860,4862],{"class":693,"line":784},[691,4849,1123],{"class":697},[691,4851,761],{"class":716},[691,4853,3297],{"class":708},[691,4855,767],{"class":716},[691,4857,1137],{"class":697},[691,4859,1018],{"class":716},[691,4861,3306],{"class":1021},[691,4863,1145],{"class":716},[691,4865,4866],{"class":693,"line":791},[691,4867,788],{"emptyLinePlaceholder":787},[691,4869,4870,4872,4875,4877,4879,4881,4884,4886,4889,4891,4893,4895,4897,4899,4901],{"class":693,"line":819},[691,4871,3455],{"class":712},[691,4873,4874],{"class":708}," base ",[691,4876,1181],{"class":716},[691,4878,4784],{"class":708},[691,4880,806],{"class":716},[691,4882,4883],{"class":704},"$context",[691,4885,3819],{"class":716},[691,4887,4888],{"class":1617},"EvlogOrpcContext",[691,4890,3825],{"class":716},[691,4892,3360],{"class":708},[691,4894,806],{"class":716},[691,4896,3475],{"class":704},[691,4898,709],{"class":708},[691,4900,1162],{"class":704},[691,4902,4903],{"class":708},"())\n",[691,4905,4906],{"class":693,"line":880},[691,4907,788],{"emptyLinePlaceholder":787},[691,4909,4910,4912,4915,4917],{"class":693,"line":885},[691,4911,3455],{"class":712},[691,4913,4914],{"class":708}," router ",[691,4916,1181],{"class":716},[691,4918,730],{"class":716},[691,4920,4921,4924,4926],{"class":693,"line":916},[691,4922,4923],{"class":748},"  checkout",[691,4925,837],{"class":716},[691,4927,4928],{"class":708}," base\n",[691,4930,4931,4934,4937,4940,4942,4945,4947,4949,4951,4953,4956,4958,4961,4963,4965],{"class":693,"line":953},[691,4932,4933],{"class":716},"    .",[691,4935,4936],{"class":704},"input",[691,4938,4939],{"class":708},"(z",[691,4941,806],{"class":716},[691,4943,4944],{"class":704},"object",[691,4946,709],{"class":708},[691,4948,832],{"class":716},[691,4950,764],{"class":748},[691,4952,837],{"class":716},[691,4954,4955],{"class":708}," z",[691,4957,806],{"class":716},[691,4959,4960],{"class":704},"string",[691,4962,3493],{"class":708},[691,4964,1108],{"class":716},[691,4966,3498],{"class":708},[691,4968,4969,4971,4974,4976,4978,4980,4983,4985,4987,4989,4991],{"class":693,"line":958},[691,4970,4933],{"class":716},[691,4972,4973],{"class":704},"handler",[691,4975,709],{"class":708},[691,4977,713],{"class":712},[691,4979,1625],{"class":716},[691,4981,4982],{"class":720}," input",[691,4984,859],{"class":716},[691,4986,2911],{"class":720},[691,4988,1631],{"class":716},[691,4990,727],{"class":712},[691,4992,730],{"class":716},[691,4994,4995,4998,5000,5002,5004,5006,5008,5010,5012,5014,5016,5018],{"class":693,"line":982},[691,4996,4997],{"class":712},"      const",[691,4999,796],{"class":708},[691,5001,742],{"class":716},[691,5003,772],{"class":697},[691,5005,803],{"class":708},[691,5007,806],{"class":716},[691,5009,809],{"class":704},[691,5011,709],{"class":748},[691,5013,4936],{"class":708},[691,5015,806],{"class":716},[691,5017,814],{"class":708},[691,5019,753],{"class":748},[691,5021,5022,5025,5027,5029,5031,5033,5035,5037,5039,5041,5043,5045,5047,5049,5051,5053,5055,5057,5059,5061,5063,5065,5067,5069,5071,5073],{"class":693,"line":995},[691,5023,5024],{"class":708},"      context",[691,5026,806],{"class":716},[691,5028,2507],{"class":708},[691,5030,806],{"class":716},[691,5032,827],{"class":704},[691,5034,709],{"class":748},[691,5036,832],{"class":716},[691,5038,796],{"class":748},[691,5040,837],{"class":716},[691,5042,761],{"class":716},[691,5044,842],{"class":748},[691,5046,837],{"class":716},[691,5048,796],{"class":708},[691,5050,806],{"class":716},[691,5052,851],{"class":708},[691,5054,806],{"class":716},[691,5056,856],{"class":708},[691,5058,859],{"class":716},[691,5060,862],{"class":748},[691,5062,837],{"class":716},[691,5064,796],{"class":708},[691,5066,806],{"class":716},[691,5068,871],{"class":708},[691,5070,767],{"class":716},[691,5072,767],{"class":716},[691,5074,753],{"class":748},[691,5076,5077],{"class":693,"line":1010},[691,5078,788],{"emptyLinePlaceholder":787},[691,5080,5081,5083,5085,5087,5089,5091,5093,5095,5097,5099,5101,5103],{"class":693,"line":1030},[691,5082,4997],{"class":712},[691,5084,890],{"class":708},[691,5086,742],{"class":716},[691,5088,772],{"class":697},[691,5090,897],{"class":708},[691,5092,806],{"class":716},[691,5094,902],{"class":704},[691,5096,709],{"class":748},[691,5098,907],{"class":708},[691,5100,806],{"class":716},[691,5102,871],{"class":708},[691,5104,753],{"class":748},[691,5106,5107,5109,5111,5113,5115,5117,5119,5121,5123,5125,5127,5129,5131,5133,5135,5137,5139,5141],{"class":693,"line":1047},[691,5108,5024],{"class":708},[691,5110,806],{"class":716},[691,5112,2507],{"class":708},[691,5114,806],{"class":716},[691,5116,827],{"class":704},[691,5118,709],{"class":748},[691,5120,832],{"class":716},[691,5122,897],{"class":748},[691,5124,837],{"class":716},[691,5126,761],{"class":716},[691,5128,935],{"class":748},[691,5130,837],{"class":716},[691,5132,890],{"class":708},[691,5134,806],{"class":716},[691,5136,944],{"class":708},[691,5138,767],{"class":716},[691,5140,767],{"class":716},[691,5142,753],{"class":748},[691,5144,5145],{"class":693,"line":1064},[691,5146,788],{"emptyLinePlaceholder":787},[691,5148,5149,5152,5154,5156,5158,5160,5162,5164],{"class":693,"line":1072},[691,5150,5151],{"class":697},"      return",[691,5153,761],{"class":716},[691,5155,1091],{"class":748},[691,5157,837],{"class":716},[691,5159,890],{"class":708},[691,5161,806],{"class":716},[691,5163,944],{"class":708},[691,5165,1102],{"class":716},[691,5167,5168,5170,5172],{"class":693,"line":1078},[691,5169,1067],{"class":716},[691,5171,724],{"class":708},[691,5173,1007],{"class":716},[691,5175,5176],{"class":693,"line":1083},[691,5177,1938],{"class":716},[691,5179,5180],{"class":693,"line":1105},[691,5181,788],{"emptyLinePlaceholder":787},[691,5183,5184,5186,5189,5191,5193,5195,5198,5200,5203,5205,5207,5209,5211,5213,5215,5217],{"class":693,"line":1472},[691,5185,3455],{"class":712},[691,5187,5188],{"class":708}," handler ",[691,5190,1181],{"class":716},[691,5192,1128],{"class":704},[691,5194,709],{"class":708},[691,5196,5197],{"class":716},"new",[691,5199,4804],{"class":704},[691,5201,5202],{"class":708},"(router)",[691,5204,859],{"class":716},[691,5206,761],{"class":716},[691,5208,3486],{"class":748},[691,5210,837],{"class":716},[691,5212,3297],{"class":704},[691,5214,3493],{"class":708},[691,5216,1108],{"class":716},[691,5218,753],{"class":708},[515,5220,5221],{"v-slot:cloudflare":517},[681,5222,5225],{"className":683,"code":5223,"filename":5224,"language":686,"meta":517,"style":517},"import { defineWorkerFetch, initWorkersLogger } from 'evlog\u002Fworkers'\n\ninitWorkersLogger({ env: { service: 'checkout-worker' } })\n\nexport default defineWorkerFetch(async (request, env, _ctx, log) => {\n  const { cartId } = await request.json()\n  const cart = await env.DB.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  log.emit()\n  return Response.json({ orderId: cart.id })\n})\n","src\u002Fworker.ts",[688,5226,5227,5252,5256,5290,5294,5329,5351,5378,5428,5432,5443,5471],{"__ignoreMap":517},[691,5228,5229,5231,5233,5236,5238,5241,5243,5245,5247,5250],{"class":693,"line":694},[691,5230,1123],{"class":697},[691,5232,761],{"class":716},[691,5234,5235],{"class":708}," defineWorkerFetch",[691,5237,859],{"class":716},[691,5239,5240],{"class":708}," initWorkersLogger",[691,5242,767],{"class":716},[691,5244,1137],{"class":697},[691,5246,1018],{"class":716},[691,5248,5249],{"class":1021},"evlog\u002Fworkers",[691,5251,1145],{"class":716},[691,5253,5254],{"class":693,"line":733},[691,5255,788],{"emptyLinePlaceholder":787},[691,5257,5258,5261,5263,5265,5268,5270,5272,5275,5277,5279,5282,5284,5286,5288],{"class":693,"line":756},[691,5259,5260],{"class":704},"initWorkersLogger",[691,5262,709],{"class":708},[691,5264,832],{"class":716},[691,5266,5267],{"class":748}," env",[691,5269,837],{"class":716},[691,5271,761],{"class":716},[691,5273,5274],{"class":748}," service",[691,5276,837],{"class":716},[691,5278,1018],{"class":716},[691,5280,5281],{"class":1021},"checkout-worker",[691,5283,1025],{"class":716},[691,5285,767],{"class":716},[691,5287,767],{"class":716},[691,5289,753],{"class":708},[691,5291,5292],{"class":693,"line":784},[691,5293,788],{"emptyLinePlaceholder":787},[691,5295,5296,5298,5300,5302,5304,5306,5308,5310,5312,5314,5316,5319,5321,5323,5325,5327],{"class":693,"line":791},[691,5297,698],{"class":697},[691,5299,701],{"class":697},[691,5301,5235],{"class":704},[691,5303,709],{"class":708},[691,5305,713],{"class":712},[691,5307,717],{"class":716},[691,5309,4256],{"class":720},[691,5311,859],{"class":716},[691,5313,5267],{"class":720},[691,5315,859],{"class":716},[691,5317,5318],{"class":720}," _ctx",[691,5320,859],{"class":716},[691,5322,739],{"class":720},[691,5324,724],{"class":716},[691,5326,727],{"class":712},[691,5328,730],{"class":716},[691,5330,5331,5333,5335,5337,5339,5341,5343,5345,5347,5349],{"class":693,"line":819},[691,5332,736],{"class":712},[691,5334,761],{"class":716},[691,5336,764],{"class":708},[691,5338,767],{"class":716},[691,5340,742],{"class":716},[691,5342,772],{"class":697},[691,5344,1628],{"class":708},[691,5346,806],{"class":716},[691,5348,1233],{"class":704},[691,5350,1211],{"class":748},[691,5352,5353,5355,5357,5359,5361,5363,5365,5368,5370,5372,5374,5376],{"class":693,"line":880},[691,5354,736],{"class":712},[691,5356,796],{"class":708},[691,5358,742],{"class":716},[691,5360,772],{"class":697},[691,5362,5267],{"class":708},[691,5364,806],{"class":716},[691,5366,5367],{"class":708},"DB",[691,5369,806],{"class":716},[691,5371,809],{"class":704},[691,5373,709],{"class":748},[691,5375,814],{"class":708},[691,5377,753],{"class":748},[691,5379,5380,5382,5384,5386,5388,5390,5392,5394,5396,5398,5400,5402,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422,5424,5426],{"class":693,"line":885},[691,5381,822],{"class":708},[691,5383,806],{"class":716},[691,5385,827],{"class":704},[691,5387,709],{"class":748},[691,5389,832],{"class":716},[691,5391,796],{"class":748},[691,5393,837],{"class":716},[691,5395,761],{"class":716},[691,5397,842],{"class":748},[691,5399,837],{"class":716},[691,5401,796],{"class":708},[691,5403,806],{"class":716},[691,5405,851],{"class":708},[691,5407,806],{"class":716},[691,5409,856],{"class":708},[691,5411,859],{"class":716},[691,5413,862],{"class":748},[691,5415,837],{"class":716},[691,5417,796],{"class":708},[691,5419,806],{"class":716},[691,5421,871],{"class":708},[691,5423,767],{"class":716},[691,5425,767],{"class":716},[691,5427,753],{"class":748},[691,5429,5430],{"class":693,"line":916},[691,5431,788],{"emptyLinePlaceholder":787},[691,5433,5434,5436,5438,5441],{"class":693,"line":953},[691,5435,822],{"class":708},[691,5437,806],{"class":716},[691,5439,5440],{"class":704},"emit",[691,5442,1211],{"class":748},[691,5444,5445,5447,5449,5451,5453,5455,5457,5459,5461,5463,5465,5467,5469],{"class":693,"line":958},[691,5446,1086],{"class":697},[691,5448,1482],{"class":708},[691,5450,806],{"class":716},[691,5452,1233],{"class":704},[691,5454,709],{"class":748},[691,5456,832],{"class":716},[691,5458,1091],{"class":748},[691,5460,837],{"class":716},[691,5462,796],{"class":708},[691,5464,806],{"class":716},[691,5466,944],{"class":708},[691,5468,767],{"class":716},[691,5470,753],{"class":748},[691,5472,5473,5475],{"class":693,"line":982},[691,5474,1108],{"class":716},[691,5476,753],{"class":708},[515,5478,5479],{"v-slot:bun":517},[681,5480,5483],{"className":683,"code":5481,"filename":5482,"language":686,"meta":517,"style":517},"import { initLogger, createLogger } from 'evlog'\n\ninitLogger({ env: { service: 'migrate' } })\n\nconst log = createLogger({ task: 'user-migration' })\n\nconst users = await db.query('SELECT * FROM legacy_users')\nlog.set({ found: users.length })\n\nfor (const user of users) {\n  await newDb.upsert({ id: user.id, email: user.email, plan: user.plan })\n}\n\nlog.set({ migrated: users.length, status: 'complete' })\nlog.emit()\n","scripts\u002Fmigrate-users.ts",[688,5484,5485,5509,5513,5545,5549,5580,5584,5613,5642,5646,5666,5727,5731,5735,5776],{"__ignoreMap":517},[691,5486,5487,5489,5491,5494,5496,5499,5501,5503,5505,5507],{"class":693,"line":694},[691,5488,1123],{"class":697},[691,5490,761],{"class":716},[691,5492,5493],{"class":708}," initLogger",[691,5495,859],{"class":716},[691,5497,5498],{"class":708}," createLogger",[691,5500,767],{"class":716},[691,5502,1137],{"class":697},[691,5504,1018],{"class":716},[691,5506,1162],{"class":1021},[691,5508,1145],{"class":716},[691,5510,5511],{"class":693,"line":733},[691,5512,788],{"emptyLinePlaceholder":787},[691,5514,5515,5518,5520,5522,5524,5526,5528,5530,5532,5534,5537,5539,5541,5543],{"class":693,"line":756},[691,5516,5517],{"class":704},"initLogger",[691,5519,709],{"class":708},[691,5521,832],{"class":716},[691,5523,5267],{"class":748},[691,5525,837],{"class":716},[691,5527,761],{"class":716},[691,5529,5274],{"class":748},[691,5531,837],{"class":716},[691,5533,1018],{"class":716},[691,5535,5536],{"class":1021},"migrate",[691,5538,1025],{"class":716},[691,5540,767],{"class":716},[691,5542,767],{"class":716},[691,5544,753],{"class":708},[691,5546,5547],{"class":693,"line":784},[691,5548,788],{"emptyLinePlaceholder":787},[691,5550,5551,5553,5556,5558,5560,5562,5564,5567,5569,5571,5574,5576,5578],{"class":693,"line":791},[691,5552,3455],{"class":712},[691,5554,5555],{"class":708}," log ",[691,5557,1181],{"class":716},[691,5559,5498],{"class":704},[691,5561,709],{"class":708},[691,5563,832],{"class":716},[691,5565,5566],{"class":748}," task",[691,5568,837],{"class":716},[691,5570,1018],{"class":716},[691,5572,5573],{"class":1021},"user-migration",[691,5575,1025],{"class":716},[691,5577,767],{"class":716},[691,5579,753],{"class":708},[691,5581,5582],{"class":693,"line":819},[691,5583,788],{"emptyLinePlaceholder":787},[691,5585,5586,5588,5591,5593,5595,5597,5599,5602,5604,5606,5609,5611],{"class":693,"line":880},[691,5587,3455],{"class":712},[691,5589,5590],{"class":708}," users ",[691,5592,1181],{"class":716},[691,5594,772],{"class":697},[691,5596,803],{"class":708},[691,5598,806],{"class":716},[691,5600,5601],{"class":704},"query",[691,5603,709],{"class":708},[691,5605,1025],{"class":716},[691,5607,5608],{"class":1021},"SELECT * FROM legacy_users",[691,5610,1025],{"class":716},[691,5612,753],{"class":708},[691,5614,5615,5617,5619,5621,5623,5625,5628,5630,5633,5635,5638,5640],{"class":693,"line":885},[691,5616,2507],{"class":708},[691,5618,806],{"class":716},[691,5620,827],{"class":704},[691,5622,709],{"class":708},[691,5624,832],{"class":716},[691,5626,5627],{"class":748}," found",[691,5629,837],{"class":716},[691,5631,5632],{"class":708}," users",[691,5634,806],{"class":716},[691,5636,5637],{"class":708},"length ",[691,5639,1108],{"class":716},[691,5641,753],{"class":708},[691,5643,5644],{"class":693,"line":916},[691,5645,788],{"emptyLinePlaceholder":787},[691,5647,5648,5651,5653,5655,5658,5661,5664],{"class":693,"line":953},[691,5649,5650],{"class":697},"for",[691,5652,717],{"class":708},[691,5654,3455],{"class":712},[691,5656,5657],{"class":708}," user ",[691,5659,5660],{"class":716},"of",[691,5662,5663],{"class":708}," users) ",[691,5665,979],{"class":716},[691,5667,5668,5671,5674,5676,5679,5681,5683,5686,5688,5691,5693,5695,5697,5700,5702,5704,5706,5709,5711,5714,5716,5718,5720,5723,5725],{"class":693,"line":958},[691,5669,5670],{"class":697},"  await",[691,5672,5673],{"class":708}," newDb",[691,5675,806],{"class":716},[691,5677,5678],{"class":704},"upsert",[691,5680,709],{"class":748},[691,5682,832],{"class":716},[691,5684,5685],{"class":748}," id",[691,5687,837],{"class":716},[691,5689,5690],{"class":708}," user",[691,5692,806],{"class":716},[691,5694,944],{"class":708},[691,5696,859],{"class":716},[691,5698,5699],{"class":748}," email",[691,5701,837],{"class":716},[691,5703,5690],{"class":708},[691,5705,806],{"class":716},[691,5707,5708],{"class":708},"email",[691,5710,859],{"class":716},[691,5712,5713],{"class":748}," plan",[691,5715,837],{"class":716},[691,5717,5690],{"class":708},[691,5719,806],{"class":716},[691,5721,5722],{"class":708},"plan",[691,5724,767],{"class":716},[691,5726,753],{"class":748},[691,5728,5729],{"class":693,"line":982},[691,5730,1938],{"class":716},[691,5732,5733],{"class":693,"line":995},[691,5734,788],{"emptyLinePlaceholder":787},[691,5736,5737,5739,5741,5743,5745,5747,5750,5752,5754,5756,5758,5760,5763,5765,5767,5770,5772,5774],{"class":693,"line":1010},[691,5738,2507],{"class":708},[691,5740,806],{"class":716},[691,5742,827],{"class":704},[691,5744,709],{"class":708},[691,5746,832],{"class":716},[691,5748,5749],{"class":748}," migrated",[691,5751,837],{"class":716},[691,5753,5632],{"class":708},[691,5755,806],{"class":716},[691,5757,856],{"class":708},[691,5759,859],{"class":716},[691,5761,5762],{"class":748}," status",[691,5764,837],{"class":716},[691,5766,1018],{"class":716},[691,5768,5769],{"class":1021},"complete",[691,5771,1025],{"class":716},[691,5773,767],{"class":716},[691,5775,753],{"class":708},[691,5777,5778,5780,5782,5784],{"class":693,"line":1030},[691,5779,2507],{"class":708},[691,5781,806],{"class":716},[691,5783,5440],{"class":704},[691,5785,1211],{"class":708},[5787,5788,5789],"landing-cta",{},[515,5790,5791],{"v-slot:description":517},"One logger for every context. Set it up in 10 minutes. Your future self will thank you.",[5793,5794,5795],"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":517,"searchDepth":733,"depth":733,"links":5797},[],"A modern TypeScript logger built for everything you ship — scripts, libraries, jobs, edge, requests. Simple logs, wide events, and structured errors in one API.","md",null,{},"\u002Flanding",{"title":507,"description":5798},"0.landing","X4ykRZuLIvQqC0dVJ4snaAxIZ696J4QydW0zwcVNg9U",1785229762434]