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