[{"data":1,"prerenderedAt":3307},["ShallowReactive",2],{"navigation_docs":3,"-use-cases-eve":529,"-use-cases-eve-surround":3302},[4,30,80,128,308,440,499],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118,123],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"icon":127},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":129,"path":130,"stem":131,"children":132,"page":29},"Integrate","\u002Fintegrate","4.integrate",[133,137,220],{"title":36,"path":134,"stem":135,"icon":136},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":138,"path":139,"stem":140,"children":141,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[142,145,175,200],{"title":36,"path":143,"stem":144,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":146,"path":147,"stem":148,"children":149,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[150,155,160,165,170],{"title":151,"path":152,"stem":153,"icon":154},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":156,"path":157,"stem":158,"icon":159},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":161,"path":162,"stem":163,"icon":164},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":166,"path":167,"stem":168,"icon":169},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":171,"path":172,"stem":173,"icon":174},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":176,"path":177,"stem":178,"children":179,"page":29},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[180,185,190,195],{"title":181,"path":182,"stem":183,"icon":184},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":186,"path":187,"stem":188,"icon":189},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":191,"path":192,"stem":193,"icon":194},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":196,"path":197,"stem":198,"icon":199},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":201,"path":202,"stem":203,"children":204,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[205,210,215],{"title":206,"path":207,"stem":208,"icon":209},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":211,"path":212,"stem":213,"icon":214},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":216,"path":217,"stem":218,"icon":219},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":221,"path":222,"stem":223,"children":224,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[225,229,234,239,244,249,254,259,264,269,274,279,284,289,293,298,303],{"title":36,"path":226,"stem":227,"icon":228},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":230,"path":231,"stem":232,"icon":233},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":235,"path":236,"stem":237,"icon":238},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":240,"path":241,"stem":242,"icon":243},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":245,"path":246,"stem":247,"icon":248},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":250,"path":251,"stem":252,"icon":253},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":255,"path":256,"stem":257,"icon":258},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":260,"path":261,"stem":262,"icon":263},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":265,"path":266,"stem":267,"icon":268},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":270,"path":271,"stem":272,"icon":273},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":275,"path":276,"stem":277,"icon":278},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":280,"path":281,"stem":282,"icon":283},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":285,"path":286,"stem":287,"icon":288},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":290,"path":291,"stem":292,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":294,"path":295,"stem":296,"icon":297},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":299,"path":300,"stem":301,"icon":302},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":304,"path":305,"stem":306,"icon":307},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":309,"path":310,"stem":311,"children":312,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[313,316,321,350,377,409,430,435],{"title":36,"path":314,"stem":315,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":317,"path":318,"stem":319,"icon":320},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":322,"icon":323,"path":324,"stem":325,"children":326,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[327,330,335,340,345],{"title":36,"path":328,"stem":329,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":331,"path":332,"stem":333,"icon":334},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":336,"path":337,"stem":338,"icon":339},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":341,"path":342,"stem":343,"icon":344},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":346,"path":347,"stem":348,"icon":349},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":351,"icon":352,"path":353,"stem":354,"children":355,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[356,359,364,369,373],{"title":36,"path":357,"stem":358,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":360,"path":361,"stem":362,"icon":363},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":365,"path":366,"stem":367,"icon":368},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":370,"path":371,"stem":372,"icon":320},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":374,"path":375,"stem":376,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":378,"icon":379,"path":380,"stem":381,"children":382,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[383,386,391,396,401,405],{"title":36,"path":384,"stem":385,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":387,"path":388,"stem":389,"icon":390},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":392,"path":393,"stem":394,"icon":395},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":397,"path":398,"stem":399,"icon":400},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":402,"path":403,"stem":404,"icon":379},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":406,"path":407,"stem":408,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":346,"icon":107,"path":410,"stem":411,"children":412,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[413,416,421,426],{"title":36,"path":414,"stem":415,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":417,"path":418,"stem":419,"icon":420},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":422,"path":423,"stem":424,"icon":425},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":427,"path":428,"stem":429,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":431,"path":432,"stem":433,"icon":434},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":436,"path":437,"stem":438,"icon":439},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":441,"path":442,"stem":443,"children":444,"page":29},"Extend","\u002Fextend","6.extend",[445,449,454,459,463,468,472,476,480,484,489,494],{"title":36,"path":446,"stem":447,"icon":448},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":450,"path":451,"stem":452,"icon":453},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":455,"path":456,"stem":457,"icon":458},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":460,"path":461,"stem":462,"icon":453},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":464,"path":465,"stem":466,"icon":467},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":406,"path":469,"stem":470,"icon":471},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":473,"path":474,"stem":475,"icon":448},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":477,"path":478,"stem":479,"icon":434},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":481,"path":482,"stem":483,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":485,"path":486,"stem":487,"icon":488},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":490,"path":491,"stem":492,"icon":493},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":495,"path":496,"stem":497,"icon":498},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":427,"path":500,"stem":501,"children":502,"page":29},"\u002Freference","7.reference",[503,508,511,516,520,525],{"title":504,"path":505,"stem":506,"icon":507},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":374,"path":509,"stem":510,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":512,"path":513,"stem":514,"icon":515},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":517,"path":518,"stem":519,"icon":379},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":521,"path":522,"stem":523,"icon":524},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":526,"path":527,"stem":528,"icon":434},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"id":530,"title":436,"body":531,"description":3291,"extension":3292,"links":3293,"meta":3298,"navigation":3299,"path":437,"seo":3300,"stem":438,"__hash__":3301},"docs\u002F5.use-cases\u002F5.eve.md",{"type":532,"value":533,"toc":3275},"minimark",[534,566,578,620,625,679,682,687,767,771,778,984,995,999,1025,1034,1315,1335,1339,1376,1380,1383,2012,2015,2398,2436,2440,2443,2697,2763,2766,2879,2882,2888,3144,3148,3171,3175,3215,3237,3241,3271],[535,536,537,543,544,548,549,552,553,557,558,561,562,565],"p",{},[538,539,436],"a",{"href":540,"rel":541},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fintroduction",[542],"nofollow"," ships built-in observability: ",[545,546,547],"strong",{},"Agent Runs"," on Vercel and optional ",[545,550,551],{},"OpenTelemetry"," spans via ",[554,555,556],"code",{},"agent\u002Finstrumentation.ts",". ",[554,559,560],{},"evlog\u002Feve"," adds a third layer — ",[545,563,564],{},"exportable wide events"," per turn with your full evlog pipeline (drains, enrichers, tail sampling, audit).",[567,568,570,571,573,574,577],"callout",{"color":569,"icon":13},"info","eve is currently in beta; hook and stream event shapes may change before GA. Pin ",[554,572,436],{}," and ",[554,575,576],{},"evlog"," versions in production agents.",[579,580,583,586,608],"prompt",{":actions":581,"description":582,"icon":439},"[\"copy\",\"cursor\",\"claude\"]","Add evlog wide events to my eve agent",[535,584,585],{},"Add evlog wide events to my eve agent.",[587,588,589,593,596,599,602,605],"ul",{},[590,591,592],"li",{},"Install evlog: pnpm add evlog",[590,594,595],{},"Create agent\u002Fhooks\u002Fevlog.ts with defineEvlogHook from 'evlog\u002Feve'",[590,597,598],{},"Pass drain, enrich, and keep options (same as HTTP middleware integrations)",[590,600,601],{},"In tools, import useLogger from 'evlog\u002Feve' and call useLogger() inside execute() — the turn logger is bound via AsyncLocalStorage when defineEvlogHook() is registered; pass ctx only if ALS is unavailable in your runtime",[590,603,604],{},"User message content is redacted by default (redactMessage: true); set false only after reviewing PII policy",[590,606,607],{},"Keep eve Agent Runs \u002F OTel instrumentation — evlog\u002Feve is additive",[535,609,610,611,615,616],{},"Docs: ",[538,612,613],{"href":613,"rel":614},"https:\u002F\u002Fwww.evlog.dev\u002Fuse-cases\u002Feve",[542],"\nAdapters: ",[538,617,618],{"href":618,"rel":619},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Foverview",[542],[621,622,624],"h2",{"id":623},"when-to-use-what","When to use what",[626,627,628,641],"table",{},[629,630,631],"thead",{},[632,633,634,638],"tr",{},[635,636,637],"th",{},"Need",[635,639,640],{},"Use",[642,643,644,656,668],"tbody",{},[632,645,646,650],{},[647,648,649],"td",{},"Debug a session in Vercel",[647,651,652,653,655],{},"eve ",[545,654,547],{}," (automatic)",[632,657,658,661],{},[647,659,660],{},"Span-level traces in Datadog \u002F Honeycomb",[647,662,652,663,667],{},[545,664,665],{},[554,666,556],{}," + OTel exporter",[632,669,670,673],{},[647,671,672],{},"Wide events to Axiom \u002F Better Stack \u002F FS, billing, audit, tail sampling",[647,674,675],{},[545,676,677],{},[554,678,560],{},[621,680,25],{"id":681},"quick-start",[683,684,686],"h3",{"id":685},"_1-install","1. Install",[688,689,690,718,734,750],"code-group",{},[691,692,698],"pre",{"className":693,"code":694,"filename":695,"language":696,"meta":697,"style":697},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog eve\n","pnpm","bash","",[554,699,700],{"__ignoreMap":697},[701,702,705,708,712,715],"span",{"class":703,"line":704},"line",1,[701,706,695],{"class":707},"sBMFI",[701,709,711],{"class":710},"sfazB"," add",[701,713,714],{"class":710}," evlog",[701,716,717],{"class":710}," eve\n",[691,719,722],{"className":693,"code":720,"filename":721,"language":696,"meta":697,"style":697},"bun add evlog eve\n","bun",[554,723,724],{"__ignoreMap":697},[701,725,726,728,730,732],{"class":703,"line":704},[701,727,721],{"class":707},[701,729,711],{"class":710},[701,731,714],{"class":710},[701,733,717],{"class":710},[691,735,738],{"className":693,"code":736,"filename":737,"language":696,"meta":697,"style":697},"yarn add evlog eve\n","yarn",[554,739,740],{"__ignoreMap":697},[701,741,742,744,746,748],{"class":703,"line":704},[701,743,737],{"class":707},[701,745,711],{"class":710},[701,747,714],{"class":710},[701,749,717],{"class":710},[691,751,754],{"className":693,"code":752,"filename":753,"language":696,"meta":697,"style":697},"npm install evlog eve\n","npm",[554,755,756],{"__ignoreMap":697},[701,757,758,760,763,765],{"class":703,"line":704},[701,759,753],{"class":707},[701,761,762],{"class":710}," install",[701,764,714],{"class":710},[701,766,717],{"class":710},[683,768,770],{"id":769},"_2-add-the-hook","2. Add the hook",[535,772,773,774,777],{},"Create ",[554,775,776],{},"agent\u002Fhooks\u002Fevlog.ts",":",[691,779,783],{"className":780,"code":781,"filename":776,"language":782,"meta":697,"style":697},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineEvlogHook } from 'evlog\u002Feve'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nexport default defineEvlogHook({\n  init: { env: { service: 'my-agent' } },\n  drain: createAxiomDrain(),\n  enrich: (ctx) => {\n    ctx.event.region = process.env.VERCEL_REGION\n  },\n})\n","typescript",[554,784,785,813,834,841,859,895,911,936,969,975],{"__ignoreMap":697},[701,786,787,791,795,799,802,805,808,810],{"class":703,"line":704},[701,788,790],{"class":789},"s7zQu","import",[701,792,794],{"class":793},"sMK4o"," {",[701,796,798],{"class":797},"sTEyZ"," defineEvlogHook",[701,800,801],{"class":793}," }",[701,803,804],{"class":789}," from",[701,806,807],{"class":793}," '",[701,809,560],{"class":710},[701,811,812],{"class":793},"'\n",[701,814,816,818,820,823,825,827,829,832],{"class":703,"line":815},2,[701,817,790],{"class":789},[701,819,794],{"class":793},[701,821,822],{"class":797}," createAxiomDrain",[701,824,801],{"class":793},[701,826,804],{"class":789},[701,828,807],{"class":793},[701,830,831],{"class":710},"evlog\u002Faxiom",[701,833,812],{"class":793},[701,835,837],{"class":703,"line":836},3,[701,838,840],{"emptyLinePlaceholder":839},true,"\n",[701,842,844,847,850,853,856],{"class":703,"line":843},4,[701,845,846],{"class":789},"export",[701,848,849],{"class":789}," default",[701,851,798],{"class":852},"s2Zo4",[701,854,855],{"class":797},"(",[701,857,858],{"class":793},"{\n",[701,860,862,866,868,870,873,875,877,880,882,884,887,890,892],{"class":703,"line":861},5,[701,863,865],{"class":864},"swJcz","  init",[701,867,777],{"class":793},[701,869,794],{"class":793},[701,871,872],{"class":864}," env",[701,874,777],{"class":793},[701,876,794],{"class":793},[701,878,879],{"class":864}," service",[701,881,777],{"class":793},[701,883,807],{"class":793},[701,885,886],{"class":710},"my-agent",[701,888,889],{"class":793},"'",[701,891,801],{"class":793},[701,893,894],{"class":793}," },\n",[701,896,898,901,903,905,908],{"class":703,"line":897},6,[701,899,900],{"class":864},"  drain",[701,902,777],{"class":793},[701,904,822],{"class":852},[701,906,907],{"class":797},"()",[701,909,910],{"class":793},",\n",[701,912,914,917,919,922,926,929,933],{"class":703,"line":913},7,[701,915,916],{"class":852},"  enrich",[701,918,777],{"class":793},[701,920,921],{"class":793}," (",[701,923,925],{"class":924},"sHdIc","ctx",[701,927,928],{"class":793},")",[701,930,932],{"class":931},"spNyl"," =>",[701,934,935],{"class":793}," {\n",[701,937,939,942,945,948,950,953,956,959,961,964,966],{"class":703,"line":938},8,[701,940,941],{"class":797},"    ctx",[701,943,944],{"class":793},".",[701,946,947],{"class":797},"event",[701,949,944],{"class":793},[701,951,952],{"class":797},"region",[701,954,955],{"class":793}," =",[701,957,958],{"class":797}," process",[701,960,944],{"class":793},[701,962,963],{"class":797},"env",[701,965,944],{"class":793},[701,967,968],{"class":797},"VERCEL_REGION\n",[701,970,972],{"class":703,"line":971},9,[701,973,974],{"class":793},"  },\n",[701,976,978,981],{"class":703,"line":977},10,[701,979,980],{"class":793},"}",[701,982,983],{"class":797},")\n",[535,985,986,987,990,991,994],{},"eve auto-discovers hook files under ",[554,988,989],{},"agent\u002Fhooks\u002F",". No HTTP middleware — the unit of work is an agent ",[545,992,993],{},"turn",", not a request.",[683,996,998],{"id":997},"_3-log-business-context-from-tools","3. Log business context from tools",[535,1000,1001,1004,1005,1008,1009,1012,1013,1016,1017,1020,1021,1024],{},[554,1002,1003],{},"defineEvlogHook()"," binds the turn logger via ",[545,1006,1007],{},"AsyncLocalStorage"," on ",[554,1010,1011],{},"turn.started",". Inside tool ",[554,1014,1015],{},"execute()"," handlers, call ",[554,1018,1019],{},"useLogger()"," with no arguments — same ergonomics as ",[554,1022,1023],{},"useLogger(event)"," in Nuxt or Hono.",[535,1026,1027,1028,1033],{},"In the ",[538,1029,1032],{"href":1030,"rel":1031},"https:\u002F\u002Fgithub.com\u002FHugoRCD\u002Fevlog\u002Ftree\u002Fmain\u002Fexamples\u002Feve",[542],"example agent",", support tools attach customer and order context as the agent works a refund:",[691,1035,1038],{"className":780,"code":1036,"filename":1037,"language":782,"meta":697,"style":697},"import { defineTool } from 'eve\u002Ftools'\nimport { useLogger } from 'evlog\u002Feve'\nimport { z } from 'zod'\n\nexport default defineTool({\n  description: 'Look up an order by id.',\n  inputSchema: z.object({ orderId: z.string() }),\n  async execute({ orderId }) {\n    const order = await fetchOrder(orderId)\n    const log = useLogger()\n    log.set({ order: { id: order.id, amount: order.amount, status: order.status } })\n    return order\n  },\n})\n","agent\u002Ftools\u002Flookup_order.ts",[554,1039,1040,1060,1079,1099,1103,1115,1131,1171,1189,1212,1226,1294,1303,1308],{"__ignoreMap":697},[701,1041,1042,1044,1046,1049,1051,1053,1055,1058],{"class":703,"line":704},[701,1043,790],{"class":789},[701,1045,794],{"class":793},[701,1047,1048],{"class":797}," defineTool",[701,1050,801],{"class":793},[701,1052,804],{"class":789},[701,1054,807],{"class":793},[701,1056,1057],{"class":710},"eve\u002Ftools",[701,1059,812],{"class":793},[701,1061,1062,1064,1066,1069,1071,1073,1075,1077],{"class":703,"line":815},[701,1063,790],{"class":789},[701,1065,794],{"class":793},[701,1067,1068],{"class":797}," useLogger",[701,1070,801],{"class":793},[701,1072,804],{"class":789},[701,1074,807],{"class":793},[701,1076,560],{"class":710},[701,1078,812],{"class":793},[701,1080,1081,1083,1085,1088,1090,1092,1094,1097],{"class":703,"line":836},[701,1082,790],{"class":789},[701,1084,794],{"class":793},[701,1086,1087],{"class":797}," z",[701,1089,801],{"class":793},[701,1091,804],{"class":789},[701,1093,807],{"class":793},[701,1095,1096],{"class":710},"zod",[701,1098,812],{"class":793},[701,1100,1101],{"class":703,"line":843},[701,1102,840],{"emptyLinePlaceholder":839},[701,1104,1105,1107,1109,1111,1113],{"class":703,"line":861},[701,1106,846],{"class":789},[701,1108,849],{"class":789},[701,1110,1048],{"class":852},[701,1112,855],{"class":797},[701,1114,858],{"class":793},[701,1116,1117,1120,1122,1124,1127,1129],{"class":703,"line":897},[701,1118,1119],{"class":864},"  description",[701,1121,777],{"class":793},[701,1123,807],{"class":793},[701,1125,1126],{"class":710},"Look up an order by id.",[701,1128,889],{"class":793},[701,1130,910],{"class":793},[701,1132,1133,1136,1138,1140,1142,1145,1147,1150,1153,1155,1157,1159,1162,1165,1167,1169],{"class":703,"line":913},[701,1134,1135],{"class":864},"  inputSchema",[701,1137,777],{"class":793},[701,1139,1087],{"class":797},[701,1141,944],{"class":793},[701,1143,1144],{"class":852},"object",[701,1146,855],{"class":797},[701,1148,1149],{"class":793},"{",[701,1151,1152],{"class":864}," orderId",[701,1154,777],{"class":793},[701,1156,1087],{"class":797},[701,1158,944],{"class":793},[701,1160,1161],{"class":852},"string",[701,1163,1164],{"class":797},"() ",[701,1166,980],{"class":793},[701,1168,928],{"class":797},[701,1170,910],{"class":793},[701,1172,1173,1176,1179,1182,1184,1187],{"class":703,"line":938},[701,1174,1175],{"class":931},"  async",[701,1177,1178],{"class":864}," execute",[701,1180,1181],{"class":793},"({",[701,1183,1152],{"class":924},[701,1185,1186],{"class":793}," })",[701,1188,935],{"class":793},[701,1190,1191,1194,1197,1199,1202,1205,1207,1210],{"class":703,"line":971},[701,1192,1193],{"class":931},"    const",[701,1195,1196],{"class":797}," order",[701,1198,955],{"class":793},[701,1200,1201],{"class":789}," await",[701,1203,1204],{"class":852}," fetchOrder",[701,1206,855],{"class":864},[701,1208,1209],{"class":797},"orderId",[701,1211,983],{"class":864},[701,1213,1214,1216,1219,1221,1223],{"class":703,"line":977},[701,1215,1193],{"class":931},[701,1217,1218],{"class":797}," log",[701,1220,955],{"class":793},[701,1222,1068],{"class":852},[701,1224,1225],{"class":864},"()\n",[701,1227,1229,1232,1234,1237,1239,1241,1243,1245,1247,1250,1252,1254,1256,1259,1262,1265,1267,1269,1271,1274,1276,1279,1281,1283,1285,1288,1290,1292],{"class":703,"line":1228},11,[701,1230,1231],{"class":797},"    log",[701,1233,944],{"class":793},[701,1235,1236],{"class":852},"set",[701,1238,855],{"class":864},[701,1240,1149],{"class":793},[701,1242,1196],{"class":864},[701,1244,777],{"class":793},[701,1246,794],{"class":793},[701,1248,1249],{"class":864}," id",[701,1251,777],{"class":793},[701,1253,1196],{"class":797},[701,1255,944],{"class":793},[701,1257,1258],{"class":797},"id",[701,1260,1261],{"class":793},",",[701,1263,1264],{"class":864}," amount",[701,1266,777],{"class":793},[701,1268,1196],{"class":797},[701,1270,944],{"class":793},[701,1272,1273],{"class":797},"amount",[701,1275,1261],{"class":793},[701,1277,1278],{"class":864}," status",[701,1280,777],{"class":793},[701,1282,1196],{"class":797},[701,1284,944],{"class":793},[701,1286,1287],{"class":797},"status",[701,1289,801],{"class":793},[701,1291,801],{"class":793},[701,1293,983],{"class":864},[701,1295,1297,1300],{"class":703,"line":1296},12,[701,1298,1299],{"class":789},"    return",[701,1301,1302],{"class":797}," order\n",[701,1304,1306],{"class":703,"line":1305},13,[701,1307,974],{"class":793},[701,1309,1311,1313],{"class":703,"line":1310},14,[701,1312,980],{"class":793},[701,1314,983],{"class":797},[567,1316,1318,1321,1322,1324,1325,1327,1328,1331,1332,1334],{"color":1317,"icon":136},"neutral",[545,1319,1320],{},"Fallback:"," if ",[554,1323,1019],{}," throws outside a turn, pass eve tool ",[554,1326,925],{},": ",[554,1329,1330],{},"useLogger(ctx)",". This covers separate hook\u002Ftool bundles or runtimes where AsyncLocalStorage does not propagate. With a standard eve agent layout and ",[554,1333,776],{}," registered, you should not need it.",[683,1336,1338],{"id":1337},"_4-nextjs-web-chat-optional","4. Next.js web chat (optional)",[535,1340,1341,1342,1345,1346,1349,1350,1353,1354,1349,1357,1360,1361,1364,1365,1368,1369,1372,1373,944],{},"Wrap ",[554,1343,1344],{},"next.config.ts"," with ",[554,1347,1348],{},"withEve()"," from ",[554,1351,1352],{},"eve\u002Fnext"," and use ",[554,1355,1356],{},"useEveAgent()",[554,1358,1359],{},"eve\u002Freact"," in your app. eve starts alongside ",[554,1362,1363],{},"next dev"," and proxies ",[554,1366,1367],{},"\u002Feve\u002Fv1\u002F*"," on the same origin — tool calls, approvals, and ",[554,1370,1371],{},"ask_question"," work out of the box. See the ",[538,1374,1032],{"href":1030,"rel":1375},[542],[621,1377,1379],{"id":1378},"wide-event-shape","Wide event shape",[535,1381,1382],{},"Each completed turn emits one event:",[691,1384,1389],{"className":1385,"code":1386,"filename":1387,"language":1388,"meta":697,"style":697},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"method\": \"EVE\",\n  \"path\": \"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_0\",\n  \"status\": 200,\n  \"duration\": \"7.9s\",\n  \"durationMs\": 7903,\n  \"service\": \"clearbill-support-agent\",\n  \"eve\": {\n    \"sessionId\": \"sess_abc\",\n    \"turnId\": \"turn_0\",\n    \"turnSequence\": 0,\n    \"phase\": \"awaiting-approval\",\n    \"sessionTurns\": 1\n  },\n  \"customer\": { \"slug\": \"acme-corp\", \"plan\": \"enterprise\" },\n  \"order\": { \"id\": \"4821\", \"amount\": 890, \"currency\": \"USD\" },\n  \"approval\": { \"status\": \"pending\", \"tool\": \"issue_refund\" },\n  \"ai\": {\n    \"calls\": 2,\n    \"steps\": 2,\n    \"inputTokens\": 11724,\n    \"outputTokens\": 282,\n    \"finishReason\": \"tool-calls\",\n    \"tools\": [\n      { \"name\": \"lookup_customer\", \"durationMs\": 26, \"success\": true },\n      { \"name\": \"lookup_order\", \"durationMs\": 13, \"success\": true }\n    ]\n  }\n}\n","Wide Event — turn awaiting approval","json",[554,1390,1391,1395,1418,1438,1454,1474,1490,1510,1522,1543,1563,1579,1599,1613,1617,1667,1729,1778,1792,1809,1825,1842,1859,1880,1895,1946,1994,2000,2006],{"__ignoreMap":697},[701,1392,1393],{"class":703,"line":704},[701,1394,858],{"class":793},[701,1396,1397,1400,1403,1406,1408,1411,1414,1416],{"class":703,"line":815},[701,1398,1399],{"class":793},"  \"",[701,1401,1402],{"class":931},"method",[701,1404,1405],{"class":793},"\"",[701,1407,777],{"class":793},[701,1409,1410],{"class":793}," \"",[701,1412,1413],{"class":710},"EVE",[701,1415,1405],{"class":793},[701,1417,910],{"class":793},[701,1419,1420,1422,1425,1427,1429,1431,1434,1436],{"class":703,"line":836},[701,1421,1399],{"class":793},[701,1423,1424],{"class":931},"path",[701,1426,1405],{"class":793},[701,1428,777],{"class":793},[701,1430,1410],{"class":793},[701,1432,1433],{"class":710},"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_0",[701,1435,1405],{"class":793},[701,1437,910],{"class":793},[701,1439,1440,1442,1444,1446,1448,1452],{"class":703,"line":843},[701,1441,1399],{"class":793},[701,1443,1287],{"class":931},[701,1445,1405],{"class":793},[701,1447,777],{"class":793},[701,1449,1451],{"class":1450},"sbssI"," 200",[701,1453,910],{"class":793},[701,1455,1456,1458,1461,1463,1465,1467,1470,1472],{"class":703,"line":861},[701,1457,1399],{"class":793},[701,1459,1460],{"class":931},"duration",[701,1462,1405],{"class":793},[701,1464,777],{"class":793},[701,1466,1410],{"class":793},[701,1468,1469],{"class":710},"7.9s",[701,1471,1405],{"class":793},[701,1473,910],{"class":793},[701,1475,1476,1478,1481,1483,1485,1488],{"class":703,"line":897},[701,1477,1399],{"class":793},[701,1479,1480],{"class":931},"durationMs",[701,1482,1405],{"class":793},[701,1484,777],{"class":793},[701,1486,1487],{"class":1450}," 7903",[701,1489,910],{"class":793},[701,1491,1492,1494,1497,1499,1501,1503,1506,1508],{"class":703,"line":913},[701,1493,1399],{"class":793},[701,1495,1496],{"class":931},"service",[701,1498,1405],{"class":793},[701,1500,777],{"class":793},[701,1502,1410],{"class":793},[701,1504,1505],{"class":710},"clearbill-support-agent",[701,1507,1405],{"class":793},[701,1509,910],{"class":793},[701,1511,1512,1514,1516,1518,1520],{"class":703,"line":938},[701,1513,1399],{"class":793},[701,1515,436],{"class":931},[701,1517,1405],{"class":793},[701,1519,777],{"class":793},[701,1521,935],{"class":793},[701,1523,1524,1527,1530,1532,1534,1536,1539,1541],{"class":703,"line":971},[701,1525,1526],{"class":793},"    \"",[701,1528,1529],{"class":707},"sessionId",[701,1531,1405],{"class":793},[701,1533,777],{"class":793},[701,1535,1410],{"class":793},[701,1537,1538],{"class":710},"sess_abc",[701,1540,1405],{"class":793},[701,1542,910],{"class":793},[701,1544,1545,1547,1550,1552,1554,1556,1559,1561],{"class":703,"line":977},[701,1546,1526],{"class":793},[701,1548,1549],{"class":707},"turnId",[701,1551,1405],{"class":793},[701,1553,777],{"class":793},[701,1555,1410],{"class":793},[701,1557,1558],{"class":710},"turn_0",[701,1560,1405],{"class":793},[701,1562,910],{"class":793},[701,1564,1565,1567,1570,1572,1574,1577],{"class":703,"line":1228},[701,1566,1526],{"class":793},[701,1568,1569],{"class":707},"turnSequence",[701,1571,1405],{"class":793},[701,1573,777],{"class":793},[701,1575,1576],{"class":1450}," 0",[701,1578,910],{"class":793},[701,1580,1581,1583,1586,1588,1590,1592,1595,1597],{"class":703,"line":1296},[701,1582,1526],{"class":793},[701,1584,1585],{"class":707},"phase",[701,1587,1405],{"class":793},[701,1589,777],{"class":793},[701,1591,1410],{"class":793},[701,1593,1594],{"class":710},"awaiting-approval",[701,1596,1405],{"class":793},[701,1598,910],{"class":793},[701,1600,1601,1603,1606,1608,1610],{"class":703,"line":1305},[701,1602,1526],{"class":793},[701,1604,1605],{"class":707},"sessionTurns",[701,1607,1405],{"class":793},[701,1609,777],{"class":793},[701,1611,1612],{"class":1450}," 1\n",[701,1614,1615],{"class":703,"line":1310},[701,1616,974],{"class":793},[701,1618,1620,1622,1625,1627,1629,1631,1633,1636,1638,1640,1642,1645,1647,1649,1651,1654,1656,1658,1660,1663,1665],{"class":703,"line":1619},15,[701,1621,1399],{"class":793},[701,1623,1624],{"class":931},"customer",[701,1626,1405],{"class":793},[701,1628,777],{"class":793},[701,1630,794],{"class":793},[701,1632,1410],{"class":793},[701,1634,1635],{"class":707},"slug",[701,1637,1405],{"class":793},[701,1639,777],{"class":793},[701,1641,1410],{"class":793},[701,1643,1644],{"class":710},"acme-corp",[701,1646,1405],{"class":793},[701,1648,1261],{"class":793},[701,1650,1410],{"class":793},[701,1652,1653],{"class":707},"plan",[701,1655,1405],{"class":793},[701,1657,777],{"class":793},[701,1659,1410],{"class":793},[701,1661,1662],{"class":710},"enterprise",[701,1664,1405],{"class":793},[701,1666,894],{"class":793},[701,1668,1670,1672,1675,1677,1679,1681,1683,1685,1687,1689,1691,1694,1696,1698,1700,1702,1704,1706,1709,1711,1713,1716,1718,1720,1722,1725,1727],{"class":703,"line":1669},16,[701,1671,1399],{"class":793},[701,1673,1674],{"class":931},"order",[701,1676,1405],{"class":793},[701,1678,777],{"class":793},[701,1680,794],{"class":793},[701,1682,1410],{"class":793},[701,1684,1258],{"class":707},[701,1686,1405],{"class":793},[701,1688,777],{"class":793},[701,1690,1410],{"class":793},[701,1692,1693],{"class":710},"4821",[701,1695,1405],{"class":793},[701,1697,1261],{"class":793},[701,1699,1410],{"class":793},[701,1701,1273],{"class":707},[701,1703,1405],{"class":793},[701,1705,777],{"class":793},[701,1707,1708],{"class":1450}," 890",[701,1710,1261],{"class":793},[701,1712,1410],{"class":793},[701,1714,1715],{"class":707},"currency",[701,1717,1405],{"class":793},[701,1719,777],{"class":793},[701,1721,1410],{"class":793},[701,1723,1724],{"class":710},"USD",[701,1726,1405],{"class":793},[701,1728,894],{"class":793},[701,1730,1732,1734,1737,1739,1741,1743,1745,1747,1749,1751,1753,1756,1758,1760,1762,1765,1767,1769,1771,1774,1776],{"class":703,"line":1731},17,[701,1733,1399],{"class":793},[701,1735,1736],{"class":931},"approval",[701,1738,1405],{"class":793},[701,1740,777],{"class":793},[701,1742,794],{"class":793},[701,1744,1410],{"class":793},[701,1746,1287],{"class":707},[701,1748,1405],{"class":793},[701,1750,777],{"class":793},[701,1752,1410],{"class":793},[701,1754,1755],{"class":710},"pending",[701,1757,1405],{"class":793},[701,1759,1261],{"class":793},[701,1761,1410],{"class":793},[701,1763,1764],{"class":707},"tool",[701,1766,1405],{"class":793},[701,1768,777],{"class":793},[701,1770,1410],{"class":793},[701,1772,1773],{"class":710},"issue_refund",[701,1775,1405],{"class":793},[701,1777,894],{"class":793},[701,1779,1781,1783,1786,1788,1790],{"class":703,"line":1780},18,[701,1782,1399],{"class":793},[701,1784,1785],{"class":931},"ai",[701,1787,1405],{"class":793},[701,1789,777],{"class":793},[701,1791,935],{"class":793},[701,1793,1795,1797,1800,1802,1804,1807],{"class":703,"line":1794},19,[701,1796,1526],{"class":793},[701,1798,1799],{"class":707},"calls",[701,1801,1405],{"class":793},[701,1803,777],{"class":793},[701,1805,1806],{"class":1450}," 2",[701,1808,910],{"class":793},[701,1810,1812,1814,1817,1819,1821,1823],{"class":703,"line":1811},20,[701,1813,1526],{"class":793},[701,1815,1816],{"class":707},"steps",[701,1818,1405],{"class":793},[701,1820,777],{"class":793},[701,1822,1806],{"class":1450},[701,1824,910],{"class":793},[701,1826,1828,1830,1833,1835,1837,1840],{"class":703,"line":1827},21,[701,1829,1526],{"class":793},[701,1831,1832],{"class":707},"inputTokens",[701,1834,1405],{"class":793},[701,1836,777],{"class":793},[701,1838,1839],{"class":1450}," 11724",[701,1841,910],{"class":793},[701,1843,1845,1847,1850,1852,1854,1857],{"class":703,"line":1844},22,[701,1846,1526],{"class":793},[701,1848,1849],{"class":707},"outputTokens",[701,1851,1405],{"class":793},[701,1853,777],{"class":793},[701,1855,1856],{"class":1450}," 282",[701,1858,910],{"class":793},[701,1860,1862,1864,1867,1869,1871,1873,1876,1878],{"class":703,"line":1861},23,[701,1863,1526],{"class":793},[701,1865,1866],{"class":707},"finishReason",[701,1868,1405],{"class":793},[701,1870,777],{"class":793},[701,1872,1410],{"class":793},[701,1874,1875],{"class":710},"tool-calls",[701,1877,1405],{"class":793},[701,1879,910],{"class":793},[701,1881,1883,1885,1888,1890,1892],{"class":703,"line":1882},24,[701,1884,1526],{"class":793},[701,1886,1887],{"class":707},"tools",[701,1889,1405],{"class":793},[701,1891,777],{"class":793},[701,1893,1894],{"class":793}," [\n",[701,1896,1898,1901,1903,1906,1908,1910,1912,1915,1917,1919,1921,1923,1925,1927,1930,1932,1934,1937,1939,1941,1944],{"class":703,"line":1897},25,[701,1899,1900],{"class":793},"      {",[701,1902,1410],{"class":793},[701,1904,1905],{"class":1450},"name",[701,1907,1405],{"class":793},[701,1909,777],{"class":793},[701,1911,1410],{"class":793},[701,1913,1914],{"class":710},"lookup_customer",[701,1916,1405],{"class":793},[701,1918,1261],{"class":793},[701,1920,1410],{"class":793},[701,1922,1480],{"class":1450},[701,1924,1405],{"class":793},[701,1926,777],{"class":793},[701,1928,1929],{"class":1450}," 26",[701,1931,1261],{"class":793},[701,1933,1410],{"class":793},[701,1935,1936],{"class":1450},"success",[701,1938,1405],{"class":793},[701,1940,777],{"class":793},[701,1942,1943],{"class":793}," true",[701,1945,894],{"class":793},[701,1947,1949,1951,1953,1955,1957,1959,1961,1964,1966,1968,1970,1972,1974,1976,1979,1981,1983,1985,1987,1989,1991],{"class":703,"line":1948},26,[701,1950,1900],{"class":793},[701,1952,1410],{"class":793},[701,1954,1905],{"class":1450},[701,1956,1405],{"class":793},[701,1958,777],{"class":793},[701,1960,1410],{"class":793},[701,1962,1963],{"class":710},"lookup_order",[701,1965,1405],{"class":793},[701,1967,1261],{"class":793},[701,1969,1410],{"class":793},[701,1971,1480],{"class":1450},[701,1973,1405],{"class":793},[701,1975,777],{"class":793},[701,1977,1978],{"class":1450}," 13",[701,1980,1261],{"class":793},[701,1982,1410],{"class":793},[701,1984,1936],{"class":1450},[701,1986,1405],{"class":793},[701,1988,777],{"class":793},[701,1990,1943],{"class":793},[701,1992,1993],{"class":793}," }\n",[701,1995,1997],{"class":703,"line":1996},27,[701,1998,1999],{"class":793},"    ]\n",[701,2001,2003],{"class":703,"line":2002},28,[701,2004,2005],{"class":793},"  }\n",[701,2007,2009],{"class":703,"line":2008},29,[701,2010,2011],{"class":793},"}\n",[535,2013,2014],{},"After approval, the next turn carries the outcome:",[691,2016,2019],{"className":1385,"code":2017,"filename":2018,"language":1388,"meta":697,"style":697},"{\n  \"path\": \"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_1\",\n  \"eve\": {\n    \"sessionId\": \"sess_abc\",\n    \"turnId\": \"turn_1\",\n    \"turnSequence\": 1,\n    \"sessionTurns\": 2\n  },\n  \"refund\": { \"orderId\": \"4821\", \"amount\": 890, \"status\": \"refunded\" },\n  \"audit\": { \"action\": \"refund.issued\", \"target\": { \"type\": \"order\", \"id\": \"4821\" } },\n  \"approval\": { \"status\": \"approved\", \"tool\": \"issue_refund\" },\n  \"ai\": {\n    \"tools\": [{ \"name\": \"issue_refund\", \"durationMs\": 993, \"success\": true }],\n    \"finishReason\": \"stop\"\n  }\n}\n","Wide Event — refund completed",[554,2020,2021,2025,2044,2056,2074,2093,2108,2121,2125,2183,2260,2305,2317,2372,2390,2394],{"__ignoreMap":697},[701,2022,2023],{"class":703,"line":704},[701,2024,858],{"class":793},[701,2026,2027,2029,2031,2033,2035,2037,2040,2042],{"class":703,"line":815},[701,2028,1399],{"class":793},[701,2030,1424],{"class":931},[701,2032,1405],{"class":793},[701,2034,777],{"class":793},[701,2036,1410],{"class":793},[701,2038,2039],{"class":710},"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_1",[701,2041,1405],{"class":793},[701,2043,910],{"class":793},[701,2045,2046,2048,2050,2052,2054],{"class":703,"line":836},[701,2047,1399],{"class":793},[701,2049,436],{"class":931},[701,2051,1405],{"class":793},[701,2053,777],{"class":793},[701,2055,935],{"class":793},[701,2057,2058,2060,2062,2064,2066,2068,2070,2072],{"class":703,"line":843},[701,2059,1526],{"class":793},[701,2061,1529],{"class":707},[701,2063,1405],{"class":793},[701,2065,777],{"class":793},[701,2067,1410],{"class":793},[701,2069,1538],{"class":710},[701,2071,1405],{"class":793},[701,2073,910],{"class":793},[701,2075,2076,2078,2080,2082,2084,2086,2089,2091],{"class":703,"line":861},[701,2077,1526],{"class":793},[701,2079,1549],{"class":707},[701,2081,1405],{"class":793},[701,2083,777],{"class":793},[701,2085,1410],{"class":793},[701,2087,2088],{"class":710},"turn_1",[701,2090,1405],{"class":793},[701,2092,910],{"class":793},[701,2094,2095,2097,2099,2101,2103,2106],{"class":703,"line":897},[701,2096,1526],{"class":793},[701,2098,1569],{"class":707},[701,2100,1405],{"class":793},[701,2102,777],{"class":793},[701,2104,2105],{"class":1450}," 1",[701,2107,910],{"class":793},[701,2109,2110,2112,2114,2116,2118],{"class":703,"line":913},[701,2111,1526],{"class":793},[701,2113,1605],{"class":707},[701,2115,1405],{"class":793},[701,2117,777],{"class":793},[701,2119,2120],{"class":1450}," 2\n",[701,2122,2123],{"class":703,"line":938},[701,2124,974],{"class":793},[701,2126,2127,2129,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2179,2181],{"class":703,"line":971},[701,2128,1399],{"class":793},[701,2130,2131],{"class":931},"refund",[701,2133,1405],{"class":793},[701,2135,777],{"class":793},[701,2137,794],{"class":793},[701,2139,1410],{"class":793},[701,2141,1209],{"class":707},[701,2143,1405],{"class":793},[701,2145,777],{"class":793},[701,2147,1410],{"class":793},[701,2149,1693],{"class":710},[701,2151,1405],{"class":793},[701,2153,1261],{"class":793},[701,2155,1410],{"class":793},[701,2157,1273],{"class":707},[701,2159,1405],{"class":793},[701,2161,777],{"class":793},[701,2163,1708],{"class":1450},[701,2165,1261],{"class":793},[701,2167,1410],{"class":793},[701,2169,1287],{"class":707},[701,2171,1405],{"class":793},[701,2173,777],{"class":793},[701,2175,1410],{"class":793},[701,2177,2178],{"class":710},"refunded",[701,2180,1405],{"class":793},[701,2182,894],{"class":793},[701,2184,2185,2187,2190,2192,2194,2196,2198,2201,2203,2205,2207,2210,2212,2214,2216,2219,2221,2223,2225,2227,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258],{"class":703,"line":977},[701,2186,1399],{"class":793},[701,2188,2189],{"class":931},"audit",[701,2191,1405],{"class":793},[701,2193,777],{"class":793},[701,2195,794],{"class":793},[701,2197,1410],{"class":793},[701,2199,2200],{"class":707},"action",[701,2202,1405],{"class":793},[701,2204,777],{"class":793},[701,2206,1410],{"class":793},[701,2208,2209],{"class":710},"refund.issued",[701,2211,1405],{"class":793},[701,2213,1261],{"class":793},[701,2215,1410],{"class":793},[701,2217,2218],{"class":707},"target",[701,2220,1405],{"class":793},[701,2222,777],{"class":793},[701,2224,794],{"class":793},[701,2226,1410],{"class":793},[701,2228,2229],{"class":1450},"type",[701,2231,1405],{"class":793},[701,2233,777],{"class":793},[701,2235,1410],{"class":793},[701,2237,1674],{"class":710},[701,2239,1405],{"class":793},[701,2241,1261],{"class":793},[701,2243,1410],{"class":793},[701,2245,1258],{"class":1450},[701,2247,1405],{"class":793},[701,2249,777],{"class":793},[701,2251,1410],{"class":793},[701,2253,1693],{"class":710},[701,2255,1405],{"class":793},[701,2257,801],{"class":793},[701,2259,894],{"class":793},[701,2261,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2285,2287,2289,2291,2293,2295,2297,2299,2301,2303],{"class":703,"line":1228},[701,2263,1399],{"class":793},[701,2265,1736],{"class":931},[701,2267,1405],{"class":793},[701,2269,777],{"class":793},[701,2271,794],{"class":793},[701,2273,1410],{"class":793},[701,2275,1287],{"class":707},[701,2277,1405],{"class":793},[701,2279,777],{"class":793},[701,2281,1410],{"class":793},[701,2283,2284],{"class":710},"approved",[701,2286,1405],{"class":793},[701,2288,1261],{"class":793},[701,2290,1410],{"class":793},[701,2292,1764],{"class":707},[701,2294,1405],{"class":793},[701,2296,777],{"class":793},[701,2298,1410],{"class":793},[701,2300,1773],{"class":710},[701,2302,1405],{"class":793},[701,2304,894],{"class":793},[701,2306,2307,2309,2311,2313,2315],{"class":703,"line":1296},[701,2308,1399],{"class":793},[701,2310,1785],{"class":931},[701,2312,1405],{"class":793},[701,2314,777],{"class":793},[701,2316,935],{"class":793},[701,2318,2319,2321,2323,2325,2327,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2357,2359,2361,2363,2365,2367,2369],{"class":703,"line":1305},[701,2320,1526],{"class":793},[701,2322,1887],{"class":707},[701,2324,1405],{"class":793},[701,2326,777],{"class":793},[701,2328,2329],{"class":793}," [{",[701,2331,1410],{"class":793},[701,2333,1905],{"class":1450},[701,2335,1405],{"class":793},[701,2337,777],{"class":793},[701,2339,1410],{"class":793},[701,2341,1773],{"class":710},[701,2343,1405],{"class":793},[701,2345,1261],{"class":793},[701,2347,1410],{"class":793},[701,2349,1480],{"class":1450},[701,2351,1405],{"class":793},[701,2353,777],{"class":793},[701,2355,2356],{"class":1450}," 993",[701,2358,1261],{"class":793},[701,2360,1410],{"class":793},[701,2362,1936],{"class":1450},[701,2364,1405],{"class":793},[701,2366,777],{"class":793},[701,2368,1943],{"class":793},[701,2370,2371],{"class":793}," }],\n",[701,2373,2374,2376,2378,2380,2382,2384,2387],{"class":703,"line":1310},[701,2375,1526],{"class":793},[701,2377,1866],{"class":707},[701,2379,1405],{"class":793},[701,2381,777],{"class":793},[701,2383,1410],{"class":793},[701,2385,2386],{"class":710},"stop",[701,2388,2389],{"class":793},"\"\n",[701,2391,2392],{"class":703,"line":1619},[701,2393,2005],{"class":793},[701,2395,2396],{"class":703,"line":1669},[701,2397,2011],{"class":793},[535,2399,2400,2401,2404,2405,2404,2408,2411,2412,2414,2415,2418,2419,2422,2423,2426,2427,2404,2429,2404,2432,2435],{},"Token usage and tool executions are accumulated from eve stream events (",[554,2402,2403],{},"step.completed",", ",[554,2406,2407],{},"actions.requested",[554,2409,2410],{},"action.result","). Business fields set via ",[554,2413,1019],{}," carry across turns in the same session. Link turns in analytics with ",[554,2416,2417],{},"eve.sessionId"," + ",[554,2420,2421],{},"eve.turnSequence"," — each event stays self-contained. ",[554,2424,2425],{},"eve.phase"," is only set for non-routine endings (",[554,2428,1594],{},[554,2430,2431],{},"rejected",[554,2433,2434],{},"failed",").",[621,2437,2439],{"id":2438},"production","Production",[535,2441,2442],{},"Long-running eve agents should disable terminal pretty-printing and use a non-blocking drain:",[691,2444,2446],{"className":780,"code":2445,"filename":776,"language":782,"meta":697,"style":697},"import { defineEvlogHook } from 'evlog\u002Feve'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\nimport { createDrainPipeline } from 'evlog\u002Fpipeline'\n\nconst drain = createDrainPipeline({ batch: { size: 50, intervalMs: 5000 } })(\n  createAxiomDrain(),\n)\n\nexport default defineEvlogHook({\n  init: {\n    env: { service: 'my-agent', environment: 'production' },\n    pretty: false,\n    sampling: { rates: { info: 10 } },\n  },\n  drain,\n  maxSessions: 256,\n})\n",[554,2447,2448,2466,2484,2504,2508,2557,2566,2570,2574,2586,2594,2628,2641,2669,2673,2679,2691],{"__ignoreMap":697},[701,2449,2450,2452,2454,2456,2458,2460,2462,2464],{"class":703,"line":704},[701,2451,790],{"class":789},[701,2453,794],{"class":793},[701,2455,798],{"class":797},[701,2457,801],{"class":793},[701,2459,804],{"class":789},[701,2461,807],{"class":793},[701,2463,560],{"class":710},[701,2465,812],{"class":793},[701,2467,2468,2470,2472,2474,2476,2478,2480,2482],{"class":703,"line":815},[701,2469,790],{"class":789},[701,2471,794],{"class":793},[701,2473,822],{"class":797},[701,2475,801],{"class":793},[701,2477,804],{"class":789},[701,2479,807],{"class":793},[701,2481,831],{"class":710},[701,2483,812],{"class":793},[701,2485,2486,2488,2490,2493,2495,2497,2499,2502],{"class":703,"line":836},[701,2487,790],{"class":789},[701,2489,794],{"class":793},[701,2491,2492],{"class":797}," createDrainPipeline",[701,2494,801],{"class":793},[701,2496,804],{"class":789},[701,2498,807],{"class":793},[701,2500,2501],{"class":710},"evlog\u002Fpipeline",[701,2503,812],{"class":793},[701,2505,2506],{"class":703,"line":843},[701,2507,840],{"emptyLinePlaceholder":839},[701,2509,2510,2513,2516,2519,2521,2523,2525,2528,2530,2532,2535,2537,2540,2542,2545,2547,2550,2552,2554],{"class":703,"line":861},[701,2511,2512],{"class":931},"const",[701,2514,2515],{"class":797}," drain ",[701,2517,2518],{"class":793},"=",[701,2520,2492],{"class":852},[701,2522,855],{"class":797},[701,2524,1149],{"class":793},[701,2526,2527],{"class":864}," batch",[701,2529,777],{"class":793},[701,2531,794],{"class":793},[701,2533,2534],{"class":864}," size",[701,2536,777],{"class":793},[701,2538,2539],{"class":1450}," 50",[701,2541,1261],{"class":793},[701,2543,2544],{"class":864}," intervalMs",[701,2546,777],{"class":793},[701,2548,2549],{"class":1450}," 5000",[701,2551,801],{"class":793},[701,2553,801],{"class":793},[701,2555,2556],{"class":797},")(\n",[701,2558,2559,2562,2564],{"class":703,"line":897},[701,2560,2561],{"class":852},"  createAxiomDrain",[701,2563,907],{"class":797},[701,2565,910],{"class":793},[701,2567,2568],{"class":703,"line":913},[701,2569,983],{"class":797},[701,2571,2572],{"class":703,"line":938},[701,2573,840],{"emptyLinePlaceholder":839},[701,2575,2576,2578,2580,2582,2584],{"class":703,"line":971},[701,2577,846],{"class":789},[701,2579,849],{"class":789},[701,2581,798],{"class":852},[701,2583,855],{"class":797},[701,2585,858],{"class":793},[701,2587,2588,2590,2592],{"class":703,"line":977},[701,2589,865],{"class":864},[701,2591,777],{"class":793},[701,2593,935],{"class":793},[701,2595,2596,2599,2601,2603,2605,2607,2609,2611,2613,2615,2618,2620,2622,2624,2626],{"class":703,"line":1228},[701,2597,2598],{"class":864},"    env",[701,2600,777],{"class":793},[701,2602,794],{"class":793},[701,2604,879],{"class":864},[701,2606,777],{"class":793},[701,2608,807],{"class":793},[701,2610,886],{"class":710},[701,2612,889],{"class":793},[701,2614,1261],{"class":793},[701,2616,2617],{"class":864}," environment",[701,2619,777],{"class":793},[701,2621,807],{"class":793},[701,2623,2438],{"class":710},[701,2625,889],{"class":793},[701,2627,894],{"class":793},[701,2629,2630,2633,2635,2639],{"class":703,"line":1296},[701,2631,2632],{"class":864},"    pretty",[701,2634,777],{"class":793},[701,2636,2638],{"class":2637},"sfNiH"," false",[701,2640,910],{"class":793},[701,2642,2643,2646,2648,2650,2653,2655,2657,2660,2662,2665,2667],{"class":703,"line":1305},[701,2644,2645],{"class":864},"    sampling",[701,2647,777],{"class":793},[701,2649,794],{"class":793},[701,2651,2652],{"class":864}," rates",[701,2654,777],{"class":793},[701,2656,794],{"class":793},[701,2658,2659],{"class":864}," info",[701,2661,777],{"class":793},[701,2663,2664],{"class":1450}," 10",[701,2666,801],{"class":793},[701,2668,894],{"class":793},[701,2670,2671],{"class":703,"line":1310},[701,2672,974],{"class":793},[701,2674,2675,2677],{"class":703,"line":1619},[701,2676,900],{"class":797},[701,2678,910],{"class":793},[701,2680,2681,2684,2686,2689],{"class":703,"line":1669},[701,2682,2683],{"class":864},"  maxSessions",[701,2685,777],{"class":793},[701,2687,2688],{"class":1450}," 256",[701,2690,910],{"class":793},[701,2692,2693,2695],{"class":703,"line":1731},[701,2694,980],{"class":793},[701,2696,983],{"class":797},[626,2698,2699,2709],{},[629,2700,2701],{},[632,2702,2703,2706],{},[635,2704,2705],{},"Concern",[635,2707,2708],{},"Recommendation",[642,2710,2711,2722,2730,2741,2755],{},[632,2712,2713,2716],{},[647,2714,2715],{},"Terminal output",[647,2717,2718,2721],{},[554,2719,2720],{},"init.pretty: false"," — pretty-print is for local dev only",[632,2723,2724,2727],{},[647,2725,2726],{},"Drain latency",[647,2728,2729],{},"Batch or async HTTP drains; never block the turn on I\u002FO",[632,2731,2732,2735],{},[647,2733,2734],{},"Head sampling",[647,2736,2737,2740],{},[554,2738,2739],{},"init.sampling.rates"," — eve emits one event per turn, not per token",[632,2742,2743,2745],{},[647,2744,216],{},[647,2746,2747,2750,2751,2754],{},[554,2748,2749],{},"maxSessions"," (default ",[554,2752,2753],{},"256",") evicts oldest idle session state",[632,2756,2757,2760],{},[647,2758,2759],{},"Load",[647,2761,2762],{},"Hook handlers are O(1) per stream event; cost is dominated by your drain",[621,2764,336],{"id":2765},"options",[626,2767,2768,2778],{},[629,2769,2770],{},[632,2771,2772,2775],{},[635,2773,2774],{},"Option",[635,2776,2777],{},"Description",[642,2779,2780,2793,2815,2829,2852,2863],{},[632,2781,2782,2786],{},[647,2783,2784],{},[554,2785,89],{},[647,2787,2788,2789,2792],{},"Passed to ",[554,2790,2791],{},"initLogger()"," on first hook invocation",[632,2794,2795,2810],{},[647,2796,2797,2800,2801,2800,2804,2800,2807],{},[554,2798,2799],{},"drain"," \u002F ",[554,2802,2803],{},"enrich",[554,2805,2806],{},"keep",[554,2808,2809],{},"plugins",[647,2811,2812,2813,928],{},"Same as HTTP integrations (",[538,2814,2809],{"href":474},[632,2816,2817,2822],{},[647,2818,2819],{},[554,2820,2821],{},"redactMessage",[647,2823,2824,2825,2828],{},"Default ",[554,2826,2827],{},"true"," — omits user message text from the wide event",[632,2830,2831,2839],{},[647,2832,2833,2800,2836],{},[554,2834,2835],{},"cost",[554,2837,2838],{},"model",[647,2840,2841,2842,1349,2845,2848,2849],{},"Optional token pricing (",[554,2843,2844],{},"ModelCost",[554,2846,2847],{},"evlog\u002Fai",") → ",[554,2850,2851],{},"ai.estimatedCost",[632,2853,2854,2858],{},[647,2855,2856],{},[554,2857,2749],{},[647,2859,2860,2861,928],{},"In-memory session cap for context carry-over (default ",[554,2862,2753],{},[632,2864,2865,2873],{},[647,2866,2867,2800,2870],{},[554,2868,2869],{},"include",[554,2871,2872],{},"exclude",[647,2874,2875,2876,928],{},"Route-style filters on turn paths (",[554,2877,2878],{},"\u002Fsessions\u002F*\u002Fturns\u002F*",[621,2880,481],{"id":2881},"tail-sampling",[535,2883,2884,2885,2887],{},"Use ",[554,2886,2806],{}," to force-keep turns with failed tools or high token usage:",[691,2889,2891],{"className":780,"code":2890,"filename":776,"language":782,"meta":697,"style":697},"export default defineEvlogHook({\n  drain: createAxiomDrain(),\n  keep: (ctx) => {\n    const ai = ctx.context.ai as {\n      inputTokens?: number\n      outputTokens?: number\n      tools?: Array\u003C{ success: boolean }>\n    } | undefined\n    const totalTokens = (ai?.inputTokens ?? 0) + (ai?.outputTokens ?? 0)\n    if (totalTokens > 10_000) ctx.shouldKeep = true\n    if (ai?.tools?.some(t => !t.success)) ctx.shouldKeep = true\n  },\n})\n",[554,2892,2893,2905,2917,2934,2960,2971,2980,3004,3015,3058,3088,3134,3138],{"__ignoreMap":697},[701,2894,2895,2897,2899,2901,2903],{"class":703,"line":704},[701,2896,846],{"class":789},[701,2898,849],{"class":789},[701,2900,798],{"class":852},[701,2902,855],{"class":797},[701,2904,858],{"class":793},[701,2906,2907,2909,2911,2913,2915],{"class":703,"line":815},[701,2908,900],{"class":864},[701,2910,777],{"class":793},[701,2912,822],{"class":852},[701,2914,907],{"class":797},[701,2916,910],{"class":793},[701,2918,2919,2922,2924,2926,2928,2930,2932],{"class":703,"line":836},[701,2920,2921],{"class":852},"  keep",[701,2923,777],{"class":793},[701,2925,921],{"class":793},[701,2927,925],{"class":924},[701,2929,928],{"class":793},[701,2931,932],{"class":931},[701,2933,935],{"class":793},[701,2935,2936,2938,2941,2943,2946,2948,2951,2953,2955,2958],{"class":703,"line":843},[701,2937,1193],{"class":931},[701,2939,2940],{"class":797}," ai",[701,2942,955],{"class":793},[701,2944,2945],{"class":797}," ctx",[701,2947,944],{"class":793},[701,2949,2950],{"class":797},"context",[701,2952,944],{"class":793},[701,2954,1785],{"class":797},[701,2956,2957],{"class":789}," as",[701,2959,935],{"class":793},[701,2961,2962,2965,2968],{"class":703,"line":861},[701,2963,2964],{"class":864},"      inputTokens",[701,2966,2967],{"class":793},"?:",[701,2969,2970],{"class":707}," number\n",[701,2972,2973,2976,2978],{"class":703,"line":897},[701,2974,2975],{"class":864},"      outputTokens",[701,2977,2967],{"class":793},[701,2979,2970],{"class":707},[701,2981,2982,2985,2987,2990,2993,2996,2998,3001],{"class":703,"line":913},[701,2983,2984],{"class":864},"      tools",[701,2986,2967],{"class":793},[701,2988,2989],{"class":707}," Array",[701,2991,2992],{"class":793},"\u003C{",[701,2994,2995],{"class":864}," success",[701,2997,777],{"class":793},[701,2999,3000],{"class":707}," boolean",[701,3002,3003],{"class":793}," }>\n",[701,3005,3006,3009,3012],{"class":703,"line":938},[701,3007,3008],{"class":793},"    }",[701,3010,3011],{"class":793}," |",[701,3013,3014],{"class":707}," undefined\n",[701,3016,3017,3019,3022,3024,3026,3028,3031,3033,3036,3038,3041,3044,3046,3048,3050,3052,3054,3056],{"class":703,"line":971},[701,3018,1193],{"class":931},[701,3020,3021],{"class":797}," totalTokens",[701,3023,955],{"class":793},[701,3025,921],{"class":864},[701,3027,1785],{"class":797},[701,3029,3030],{"class":793},"?.",[701,3032,1832],{"class":797},[701,3034,3035],{"class":793}," ??",[701,3037,1576],{"class":1450},[701,3039,3040],{"class":864},") ",[701,3042,3043],{"class":793},"+",[701,3045,921],{"class":864},[701,3047,1785],{"class":797},[701,3049,3030],{"class":793},[701,3051,1849],{"class":797},[701,3053,3035],{"class":793},[701,3055,1576],{"class":1450},[701,3057,983],{"class":864},[701,3059,3060,3063,3065,3068,3071,3074,3076,3078,3080,3083,3085],{"class":703,"line":977},[701,3061,3062],{"class":789},"    if",[701,3064,921],{"class":864},[701,3066,3067],{"class":797},"totalTokens",[701,3069,3070],{"class":793}," >",[701,3072,3073],{"class":1450}," 10_000",[701,3075,3040],{"class":864},[701,3077,925],{"class":797},[701,3079,944],{"class":793},[701,3081,3082],{"class":797},"shouldKeep",[701,3084,955],{"class":793},[701,3086,3087],{"class":2637}," true\n",[701,3089,3090,3092,3094,3096,3098,3100,3102,3105,3107,3110,3112,3115,3117,3119,3121,3124,3126,3128,3130,3132],{"class":703,"line":1228},[701,3091,3062],{"class":789},[701,3093,921],{"class":864},[701,3095,1785],{"class":797},[701,3097,3030],{"class":793},[701,3099,1887],{"class":797},[701,3101,3030],{"class":793},[701,3103,3104],{"class":852},"some",[701,3106,855],{"class":864},[701,3108,3109],{"class":924},"t",[701,3111,932],{"class":931},[701,3113,3114],{"class":793}," !",[701,3116,3109],{"class":797},[701,3118,944],{"class":793},[701,3120,1936],{"class":797},[701,3122,3123],{"class":864},")) ",[701,3125,925],{"class":797},[701,3127,944],{"class":793},[701,3129,3082],{"class":797},[701,3131,955],{"class":793},[701,3133,3087],{"class":2637},[701,3135,3136],{"class":703,"line":1296},[701,3137,974],{"class":793},[701,3139,3140,3142],{"class":703,"line":1305},[701,3141,980],{"class":793},[701,3143,983],{"class":797},[621,3145,3147],{"id":3146},"audit-logs","Audit logs",[535,3149,3150,3151,3153,3154,3157,3158,3161,3162,3165,3166,1345,3168,944],{},"Combine with ",[538,3152,378],{"href":384},": register ",[554,3155,3156],{},"auditEnricher()"," via ",[554,3159,3160],{},"init.plugins"," or a global plugin, and call ",[554,3163,3164],{},"log.audit()"," inside tools when a human approval gate fires. Tool rejections surface on ",[554,3167,2410],{},[554,3169,3170],{},"status: \"rejected\"",[621,3172,3174],{"id":3173},"run-locally","Run locally",[691,3176,3178],{"className":693,"code":3177,"language":696,"meta":697,"style":697},"git clone https:\u002F\u002Fgithub.com\u002FHugoRCD\u002Fevlog\ncd evlog\npnpm install\npnpm example eve\n",[554,3179,3180,3191,3199,3206],{"__ignoreMap":697},[701,3181,3182,3185,3188],{"class":703,"line":704},[701,3183,3184],{"class":707},"git",[701,3186,3187],{"class":710}," clone",[701,3189,3190],{"class":710}," https:\u002F\u002Fgithub.com\u002FHugoRCD\u002Fevlog\n",[701,3192,3193,3196],{"class":703,"line":815},[701,3194,3195],{"class":852},"cd",[701,3197,3198],{"class":710}," evlog\n",[701,3200,3201,3203],{"class":703,"line":836},[701,3202,695],{"class":707},[701,3204,3205],{"class":710}," install\n",[701,3207,3208,3210,3213],{"class":703,"line":843},[701,3209,695],{"class":707},[701,3211,3212],{"class":710}," example",[701,3214,717],{"class":710},[535,3216,3217,3218,3221,3222,3225,3226,3229,3230,3236],{},"The ",[554,3219,3220],{},"examples\u002Feve"," project is a ",[545,3223,3224],{},"support refund copilot"," (Clearbill SaaS): lookup customer → lookup order → issue refund, with eve approvals when amount > $100. Run ",[554,3227,3228],{},"pnpm example eve",", open ",[545,3231,3232],{},[538,3233,3234],{"href":3234,"rel":3235},"http:\u002F\u002Flocalhost:3000",[542],", and click a starter prompt.",[621,3238,3240],{"id":3239},"what-to-read-next","What to read next",[587,3242,3243,3251,3259,3265],{},[590,3244,3245,3250],{},[538,3246,3249],{"href":3247,"rel":3248},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fguides\u002Fhooks",[542],"eve hooks guide"," — stream event vocabulary",[590,3252,3253,3258],{},[538,3254,3257],{"href":3255,"rel":3256},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fguides\u002Finstrumentation",[542],"eve instrumentation"," — OTel spans (complementary)",[590,3260,3261,3264],{},[538,3262,3263],{"href":328},"AI SDK use case"," — when you own the model loop directly",[590,3266,3267,3270],{},[538,3268,3269],{"href":143},"Adapters overview"," — drain destinations",[3272,3273,3274],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":697,"searchDepth":815,"depth":815,"links":3276},[3277,3278,3284,3285,3286,3287,3288,3289,3290],{"id":623,"depth":815,"text":624},{"id":681,"depth":815,"text":25,"children":3279},[3280,3281,3282,3283],{"id":685,"depth":836,"text":686},{"id":769,"depth":836,"text":770},{"id":997,"depth":836,"text":998},{"id":1337,"depth":836,"text":1338},{"id":1378,"depth":815,"text":1379},{"id":2438,"depth":815,"text":2439},{"id":2765,"depth":815,"text":336},{"id":2881,"depth":815,"text":481},{"id":3146,"depth":815,"text":3147},{"id":3173,"depth":815,"text":3174},{"id":3239,"depth":815,"text":3240},"Export one evlog wide event per eve agent turn — token usage, tool executions, business context, drains, enrichers, and tail sampling alongside Agent Runs and OpenTelemetry.","md",[3294],{"label":3295,"icon":3296,"to":1030,"color":1317,"variant":3297},"Source Code","i-simple-icons-github","subtle",{},{"title":436,"icon":439},{"title":436,"description":3291},"TqSijjIBlcYOVooPpx2kwim8coNaKTcDNdL2gOS4Vrw",[3303,3305],{"title":431,"path":432,"stem":433,"description":3304,"icon":434,"children":-1},"Add derived context to every wide event automatically — user agent, geo, request size, and trace context. Built-in enrichers from evlog\u002Fenrichers, plus how to compose them with your own.",{"title":36,"path":446,"stem":447,"description":3306,"icon":448,"children":-1},"Observe what flows through the pipeline (stream, fs reader, diagnostics channel, consumer recipes), plug into the pipeline (plugins, enrichers, tail sampling, identity headers), or build your own bricks (custom drains, drain pipeline, custom framework integration).",1786002971338]