[{"data":1,"prerenderedAt":3744},["ShallowReactive",2],{"navigation_docs":3,"-use-cases-eve":529,"-use-cases-eve-surround":3739},[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":3728,"extension":3729,"links":3730,"meta":3735,"navigation":3736,"path":437,"seo":3737,"stem":438,"__hash__":3738},"docs\u002F5.use-cases\u002F5.eve.md",{"type":532,"value":533,"toc":3709},"minimark",[534,566,584,629,634,705,708,713,793,797,804,1010,1021,1025,1051,1060,1341,1361,1365,1402,1406,1409,2038,2041,2424,2467,2471,2474,2642,2646,2652,2690,2706,2717,2819,2837,2841,2844,3098,3164,3167,3313,3316,3322,3578,3582,3605,3609,3649,3671,3675,3705],[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,572,573,576,577,579,580,583],"callout",{"color":569,"icon":13},"info",[554,571,560],{}," requires ",[545,574,575],{},"eve 0.30 or later",". eve is still in beta and stream event shapes may change before GA, so pin ",[554,578,436],{}," and ",[554,581,582],{},"evlog"," versions in production agents.",[585,586,589,592,617],"prompt",{":actions":587,"description":588,"icon":439},"[\"copy\",\"cursor\",\"claude\"]","Add evlog wide events to my eve agent",[535,590,591],{},"Add evlog wide events to my eve agent.",[593,594,595,599,602,605,608,611,614],"ul",{},[596,597,598],"li",{},"Install evlog: pnpm add evlog",[596,600,601],{},"Create agent\u002Fhooks\u002Fevlog.ts with defineEvlogHook from 'evlog\u002Feve'",[596,603,604],{},"Pass drain, enrich, and keep options (same as HTTP middleware integrations)",[596,606,607],{},"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",[596,609,610],{},"User message content is omitted by default (message: 'omit'); use 'preview' or 'full' only after reviewing PII policy",[596,612,613],{},"Optionally add agent\u002Finstrumentation.ts with defineEvlogInstrumentation from 'evlog\u002Feve' to join OTel spans to the wide events",[596,615,616],{},"Keep eve Agent Runs — evlog\u002Feve is additive",[535,618,619,620,624,625],{},"Docs: ",[538,621,622],{"href":622,"rel":623},"https:\u002F\u002Fwww.evlog.dev\u002Fuse-cases\u002Feve",[542],"\nAdapters: ",[538,626,627],{"href":627,"rel":628},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Foverview",[542],[630,631,633],"h2",{"id":632},"when-to-use-what","When to use what",[635,636,637,650],"table",{},[638,639,640],"thead",{},[641,642,643,647],"tr",{},[644,645,646],"th",{},"Need",[644,648,649],{},"Use",[651,652,653,665,677,688],"tbody",{},[641,654,655,659],{},[656,657,658],"td",{},"Debug a session in Vercel",[656,660,661,662,664],{},"eve ",[545,663,547],{}," (automatic)",[641,666,667,670],{},[656,668,669],{},"Span-level traces in Datadog \u002F Honeycomb",[656,671,661,672,676],{},[545,673,674],{},[554,675,556],{}," + OTel exporter",[641,678,679,682],{},[656,680,681],{},"Wide events to Axiom \u002F Better Stack \u002F FS, billing, audit, tail sampling",[656,683,684],{},[545,685,686],{},[554,687,560],{},[641,689,690,693],{},[656,691,692],{},"Jumping from a span to its wide event, and back",[656,694,695,700,701],{},[545,696,697],{},[554,698,699],{},"defineEvlogInstrumentation()"," — ",[538,702,704],{"href":703},"#correlate-traces-with-wide-events","below",[630,706,25],{"id":707},"quick-start",[709,710,712],"h3",{"id":711},"_1-install","1. Install",[714,715,716,744,760,776],"code-group",{},[717,718,724],"pre",{"className":719,"code":720,"filename":721,"language":722,"meta":723,"style":723},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog eve\n","pnpm","bash","",[554,725,726],{"__ignoreMap":723},[727,728,731,734,738,741],"span",{"class":729,"line":730},"line",1,[727,732,721],{"class":733},"sBMFI",[727,735,737],{"class":736},"sfazB"," add",[727,739,740],{"class":736}," evlog",[727,742,743],{"class":736}," eve\n",[717,745,748],{"className":719,"code":746,"filename":747,"language":722,"meta":723,"style":723},"bun add evlog eve\n","bun",[554,749,750],{"__ignoreMap":723},[727,751,752,754,756,758],{"class":729,"line":730},[727,753,747],{"class":733},[727,755,737],{"class":736},[727,757,740],{"class":736},[727,759,743],{"class":736},[717,761,764],{"className":719,"code":762,"filename":763,"language":722,"meta":723,"style":723},"yarn add evlog eve\n","yarn",[554,765,766],{"__ignoreMap":723},[727,767,768,770,772,774],{"class":729,"line":730},[727,769,763],{"class":733},[727,771,737],{"class":736},[727,773,740],{"class":736},[727,775,743],{"class":736},[717,777,780],{"className":719,"code":778,"filename":779,"language":722,"meta":723,"style":723},"npm install evlog eve\n","npm",[554,781,782],{"__ignoreMap":723},[727,783,784,786,789,791],{"class":729,"line":730},[727,785,779],{"class":733},[727,787,788],{"class":736}," install",[727,790,740],{"class":736},[727,792,743],{"class":736},[709,794,796],{"id":795},"_2-add-the-hook","2. Add the hook",[535,798,799,800,803],{},"Create ",[554,801,802],{},"agent\u002Fhooks\u002Fevlog.ts",":",[717,805,809],{"className":806,"code":807,"filename":802,"language":808,"meta":723,"style":723},"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,810,811,839,860,867,885,921,937,962,995,1001],{"__ignoreMap":723},[727,812,813,817,821,825,828,831,834,836],{"class":729,"line":730},[727,814,816],{"class":815},"s7zQu","import",[727,818,820],{"class":819},"sMK4o"," {",[727,822,824],{"class":823},"sTEyZ"," defineEvlogHook",[727,826,827],{"class":819}," }",[727,829,830],{"class":815}," from",[727,832,833],{"class":819}," '",[727,835,560],{"class":736},[727,837,838],{"class":819},"'\n",[727,840,842,844,846,849,851,853,855,858],{"class":729,"line":841},2,[727,843,816],{"class":815},[727,845,820],{"class":819},[727,847,848],{"class":823}," createAxiomDrain",[727,850,827],{"class":819},[727,852,830],{"class":815},[727,854,833],{"class":819},[727,856,857],{"class":736},"evlog\u002Faxiom",[727,859,838],{"class":819},[727,861,863],{"class":729,"line":862},3,[727,864,866],{"emptyLinePlaceholder":865},true,"\n",[727,868,870,873,876,879,882],{"class":729,"line":869},4,[727,871,872],{"class":815},"export",[727,874,875],{"class":815}," default",[727,877,824],{"class":878},"s2Zo4",[727,880,881],{"class":823},"(",[727,883,884],{"class":819},"{\n",[727,886,888,892,894,896,899,901,903,906,908,910,913,916,918],{"class":729,"line":887},5,[727,889,891],{"class":890},"swJcz","  init",[727,893,803],{"class":819},[727,895,820],{"class":819},[727,897,898],{"class":890}," env",[727,900,803],{"class":819},[727,902,820],{"class":819},[727,904,905],{"class":890}," service",[727,907,803],{"class":819},[727,909,833],{"class":819},[727,911,912],{"class":736},"my-agent",[727,914,915],{"class":819},"'",[727,917,827],{"class":819},[727,919,920],{"class":819}," },\n",[727,922,924,927,929,931,934],{"class":729,"line":923},6,[727,925,926],{"class":890},"  drain",[727,928,803],{"class":819},[727,930,848],{"class":878},[727,932,933],{"class":823},"()",[727,935,936],{"class":819},",\n",[727,938,940,943,945,948,952,955,959],{"class":729,"line":939},7,[727,941,942],{"class":878},"  enrich",[727,944,803],{"class":819},[727,946,947],{"class":819}," (",[727,949,951],{"class":950},"sHdIc","ctx",[727,953,954],{"class":819},")",[727,956,958],{"class":957},"spNyl"," =>",[727,960,961],{"class":819}," {\n",[727,963,965,968,971,974,976,979,982,985,987,990,992],{"class":729,"line":964},8,[727,966,967],{"class":823},"    ctx",[727,969,970],{"class":819},".",[727,972,973],{"class":823},"event",[727,975,970],{"class":819},[727,977,978],{"class":823},"region",[727,980,981],{"class":819}," =",[727,983,984],{"class":823}," process",[727,986,970],{"class":819},[727,988,989],{"class":823},"env",[727,991,970],{"class":819},[727,993,994],{"class":823},"VERCEL_REGION\n",[727,996,998],{"class":729,"line":997},9,[727,999,1000],{"class":819},"  },\n",[727,1002,1004,1007],{"class":729,"line":1003},10,[727,1005,1006],{"class":819},"}",[727,1008,1009],{"class":823},")\n",[535,1011,1012,1013,1016,1017,1020],{},"eve auto-discovers hook files under ",[554,1014,1015],{},"agent\u002Fhooks\u002F",". No HTTP middleware — the unit of work is an agent ",[545,1018,1019],{},"turn",", not a request.",[709,1022,1024],{"id":1023},"_3-log-business-context-from-tools","3. Log business context from tools",[535,1026,1027,1030,1031,1034,1035,1038,1039,1042,1043,1046,1047,1050],{},[554,1028,1029],{},"defineEvlogHook()"," binds the turn logger via ",[545,1032,1033],{},"AsyncLocalStorage"," on ",[554,1036,1037],{},"turn.started",". Inside tool ",[554,1040,1041],{},"execute()"," handlers, call ",[554,1044,1045],{},"useLogger()"," with no arguments — same ergonomics as ",[554,1048,1049],{},"useLogger(event)"," in Nuxt or Hono.",[535,1052,1053,1054,1059],{},"In the ",[538,1055,1058],{"href":1056,"rel":1057},"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:",[717,1061,1064],{"className":806,"code":1062,"filename":1063,"language":808,"meta":723,"style":723},"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,1065,1066,1086,1105,1125,1129,1141,1157,1197,1215,1238,1252,1320,1329,1334],{"__ignoreMap":723},[727,1067,1068,1070,1072,1075,1077,1079,1081,1084],{"class":729,"line":730},[727,1069,816],{"class":815},[727,1071,820],{"class":819},[727,1073,1074],{"class":823}," defineTool",[727,1076,827],{"class":819},[727,1078,830],{"class":815},[727,1080,833],{"class":819},[727,1082,1083],{"class":736},"eve\u002Ftools",[727,1085,838],{"class":819},[727,1087,1088,1090,1092,1095,1097,1099,1101,1103],{"class":729,"line":841},[727,1089,816],{"class":815},[727,1091,820],{"class":819},[727,1093,1094],{"class":823}," useLogger",[727,1096,827],{"class":819},[727,1098,830],{"class":815},[727,1100,833],{"class":819},[727,1102,560],{"class":736},[727,1104,838],{"class":819},[727,1106,1107,1109,1111,1114,1116,1118,1120,1123],{"class":729,"line":862},[727,1108,816],{"class":815},[727,1110,820],{"class":819},[727,1112,1113],{"class":823}," z",[727,1115,827],{"class":819},[727,1117,830],{"class":815},[727,1119,833],{"class":819},[727,1121,1122],{"class":736},"zod",[727,1124,838],{"class":819},[727,1126,1127],{"class":729,"line":869},[727,1128,866],{"emptyLinePlaceholder":865},[727,1130,1131,1133,1135,1137,1139],{"class":729,"line":887},[727,1132,872],{"class":815},[727,1134,875],{"class":815},[727,1136,1074],{"class":878},[727,1138,881],{"class":823},[727,1140,884],{"class":819},[727,1142,1143,1146,1148,1150,1153,1155],{"class":729,"line":923},[727,1144,1145],{"class":890},"  description",[727,1147,803],{"class":819},[727,1149,833],{"class":819},[727,1151,1152],{"class":736},"Look up an order by id.",[727,1154,915],{"class":819},[727,1156,936],{"class":819},[727,1158,1159,1162,1164,1166,1168,1171,1173,1176,1179,1181,1183,1185,1188,1191,1193,1195],{"class":729,"line":939},[727,1160,1161],{"class":890},"  inputSchema",[727,1163,803],{"class":819},[727,1165,1113],{"class":823},[727,1167,970],{"class":819},[727,1169,1170],{"class":878},"object",[727,1172,881],{"class":823},[727,1174,1175],{"class":819},"{",[727,1177,1178],{"class":890}," orderId",[727,1180,803],{"class":819},[727,1182,1113],{"class":823},[727,1184,970],{"class":819},[727,1186,1187],{"class":878},"string",[727,1189,1190],{"class":823},"() ",[727,1192,1006],{"class":819},[727,1194,954],{"class":823},[727,1196,936],{"class":819},[727,1198,1199,1202,1205,1208,1210,1213],{"class":729,"line":964},[727,1200,1201],{"class":957},"  async",[727,1203,1204],{"class":890}," execute",[727,1206,1207],{"class":819},"({",[727,1209,1178],{"class":950},[727,1211,1212],{"class":819}," })",[727,1214,961],{"class":819},[727,1216,1217,1220,1223,1225,1228,1231,1233,1236],{"class":729,"line":997},[727,1218,1219],{"class":957},"    const",[727,1221,1222],{"class":823}," order",[727,1224,981],{"class":819},[727,1226,1227],{"class":815}," await",[727,1229,1230],{"class":878}," fetchOrder",[727,1232,881],{"class":890},[727,1234,1235],{"class":823},"orderId",[727,1237,1009],{"class":890},[727,1239,1240,1242,1245,1247,1249],{"class":729,"line":1003},[727,1241,1219],{"class":957},[727,1243,1244],{"class":823}," log",[727,1246,981],{"class":819},[727,1248,1094],{"class":878},[727,1250,1251],{"class":890},"()\n",[727,1253,1255,1258,1260,1263,1265,1267,1269,1271,1273,1276,1278,1280,1282,1285,1288,1291,1293,1295,1297,1300,1302,1305,1307,1309,1311,1314,1316,1318],{"class":729,"line":1254},11,[727,1256,1257],{"class":823},"    log",[727,1259,970],{"class":819},[727,1261,1262],{"class":878},"set",[727,1264,881],{"class":890},[727,1266,1175],{"class":819},[727,1268,1222],{"class":890},[727,1270,803],{"class":819},[727,1272,820],{"class":819},[727,1274,1275],{"class":890}," id",[727,1277,803],{"class":819},[727,1279,1222],{"class":823},[727,1281,970],{"class":819},[727,1283,1284],{"class":823},"id",[727,1286,1287],{"class":819},",",[727,1289,1290],{"class":890}," amount",[727,1292,803],{"class":819},[727,1294,1222],{"class":823},[727,1296,970],{"class":819},[727,1298,1299],{"class":823},"amount",[727,1301,1287],{"class":819},[727,1303,1304],{"class":890}," status",[727,1306,803],{"class":819},[727,1308,1222],{"class":823},[727,1310,970],{"class":819},[727,1312,1313],{"class":823},"status",[727,1315,827],{"class":819},[727,1317,827],{"class":819},[727,1319,1009],{"class":890},[727,1321,1323,1326],{"class":729,"line":1322},12,[727,1324,1325],{"class":815},"    return",[727,1327,1328],{"class":823}," order\n",[727,1330,1332],{"class":729,"line":1331},13,[727,1333,1000],{"class":819},[727,1335,1337,1339],{"class":729,"line":1336},14,[727,1338,1006],{"class":819},[727,1340,1009],{"class":823},[567,1342,1344,1347,1348,1350,1351,1353,1354,1357,1358,1360],{"color":1343,"icon":136},"neutral",[545,1345,1346],{},"Fallback:"," if ",[554,1349,1045],{}," throws outside a turn, pass eve tool ",[554,1352,951],{},": ",[554,1355,1356],{},"useLogger(ctx)",". This covers separate hook\u002Ftool bundles or runtimes where AsyncLocalStorage does not propagate. With a standard eve agent layout and ",[554,1359,802],{}," registered, you should not need it.",[709,1362,1364],{"id":1363},"_4-nextjs-web-chat-optional","4. Next.js web chat (optional)",[535,1366,1367,1368,1371,1372,1375,1376,1379,1380,1375,1383,1386,1387,1390,1391,1394,1395,1398,1399,970],{},"Wrap ",[554,1369,1370],{},"next.config.ts"," with ",[554,1373,1374],{},"withEve()"," from ",[554,1377,1378],{},"eve\u002Fnext"," and use ",[554,1381,1382],{},"useEveAgent()",[554,1384,1385],{},"eve\u002Freact"," in your app. eve starts alongside ",[554,1388,1389],{},"next dev"," and proxies ",[554,1392,1393],{},"\u002Feve\u002Fv1\u002F*"," on the same origin — tool calls, approvals, and ",[554,1396,1397],{},"ask_question"," work out of the box. See the ",[538,1400,1058],{"href":1056,"rel":1401},[542],[630,1403,1405],{"id":1404},"wide-event-shape","Wide event shape",[535,1407,1408],{},"Each completed turn emits one event:",[717,1410,1415],{"className":1411,"code":1412,"filename":1413,"language":1414,"meta":723,"style":723},"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,1416,1417,1421,1444,1464,1480,1500,1516,1536,1548,1569,1589,1605,1625,1639,1643,1693,1755,1804,1818,1835,1851,1868,1885,1906,1921,1972,2020,2026,2032],{"__ignoreMap":723},[727,1418,1419],{"class":729,"line":730},[727,1420,884],{"class":819},[727,1422,1423,1426,1429,1432,1434,1437,1440,1442],{"class":729,"line":841},[727,1424,1425],{"class":819},"  \"",[727,1427,1428],{"class":957},"method",[727,1430,1431],{"class":819},"\"",[727,1433,803],{"class":819},[727,1435,1436],{"class":819}," \"",[727,1438,1439],{"class":736},"EVE",[727,1441,1431],{"class":819},[727,1443,936],{"class":819},[727,1445,1446,1448,1451,1453,1455,1457,1460,1462],{"class":729,"line":862},[727,1447,1425],{"class":819},[727,1449,1450],{"class":957},"path",[727,1452,1431],{"class":819},[727,1454,803],{"class":819},[727,1456,1436],{"class":819},[727,1458,1459],{"class":736},"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_0",[727,1461,1431],{"class":819},[727,1463,936],{"class":819},[727,1465,1466,1468,1470,1472,1474,1478],{"class":729,"line":869},[727,1467,1425],{"class":819},[727,1469,1313],{"class":957},[727,1471,1431],{"class":819},[727,1473,803],{"class":819},[727,1475,1477],{"class":1476},"sbssI"," 200",[727,1479,936],{"class":819},[727,1481,1482,1484,1487,1489,1491,1493,1496,1498],{"class":729,"line":887},[727,1483,1425],{"class":819},[727,1485,1486],{"class":957},"duration",[727,1488,1431],{"class":819},[727,1490,803],{"class":819},[727,1492,1436],{"class":819},[727,1494,1495],{"class":736},"7.9s",[727,1497,1431],{"class":819},[727,1499,936],{"class":819},[727,1501,1502,1504,1507,1509,1511,1514],{"class":729,"line":923},[727,1503,1425],{"class":819},[727,1505,1506],{"class":957},"durationMs",[727,1508,1431],{"class":819},[727,1510,803],{"class":819},[727,1512,1513],{"class":1476}," 7903",[727,1515,936],{"class":819},[727,1517,1518,1520,1523,1525,1527,1529,1532,1534],{"class":729,"line":939},[727,1519,1425],{"class":819},[727,1521,1522],{"class":957},"service",[727,1524,1431],{"class":819},[727,1526,803],{"class":819},[727,1528,1436],{"class":819},[727,1530,1531],{"class":736},"clearbill-support-agent",[727,1533,1431],{"class":819},[727,1535,936],{"class":819},[727,1537,1538,1540,1542,1544,1546],{"class":729,"line":964},[727,1539,1425],{"class":819},[727,1541,436],{"class":957},[727,1543,1431],{"class":819},[727,1545,803],{"class":819},[727,1547,961],{"class":819},[727,1549,1550,1553,1556,1558,1560,1562,1565,1567],{"class":729,"line":997},[727,1551,1552],{"class":819},"    \"",[727,1554,1555],{"class":733},"sessionId",[727,1557,1431],{"class":819},[727,1559,803],{"class":819},[727,1561,1436],{"class":819},[727,1563,1564],{"class":736},"sess_abc",[727,1566,1431],{"class":819},[727,1568,936],{"class":819},[727,1570,1571,1573,1576,1578,1580,1582,1585,1587],{"class":729,"line":1003},[727,1572,1552],{"class":819},[727,1574,1575],{"class":733},"turnId",[727,1577,1431],{"class":819},[727,1579,803],{"class":819},[727,1581,1436],{"class":819},[727,1583,1584],{"class":736},"turn_0",[727,1586,1431],{"class":819},[727,1588,936],{"class":819},[727,1590,1591,1593,1596,1598,1600,1603],{"class":729,"line":1254},[727,1592,1552],{"class":819},[727,1594,1595],{"class":733},"turnSequence",[727,1597,1431],{"class":819},[727,1599,803],{"class":819},[727,1601,1602],{"class":1476}," 0",[727,1604,936],{"class":819},[727,1606,1607,1609,1612,1614,1616,1618,1621,1623],{"class":729,"line":1322},[727,1608,1552],{"class":819},[727,1610,1611],{"class":733},"phase",[727,1613,1431],{"class":819},[727,1615,803],{"class":819},[727,1617,1436],{"class":819},[727,1619,1620],{"class":736},"awaiting-approval",[727,1622,1431],{"class":819},[727,1624,936],{"class":819},[727,1626,1627,1629,1632,1634,1636],{"class":729,"line":1331},[727,1628,1552],{"class":819},[727,1630,1631],{"class":733},"sessionTurns",[727,1633,1431],{"class":819},[727,1635,803],{"class":819},[727,1637,1638],{"class":1476}," 1\n",[727,1640,1641],{"class":729,"line":1336},[727,1642,1000],{"class":819},[727,1644,1646,1648,1651,1653,1655,1657,1659,1662,1664,1666,1668,1671,1673,1675,1677,1680,1682,1684,1686,1689,1691],{"class":729,"line":1645},15,[727,1647,1425],{"class":819},[727,1649,1650],{"class":957},"customer",[727,1652,1431],{"class":819},[727,1654,803],{"class":819},[727,1656,820],{"class":819},[727,1658,1436],{"class":819},[727,1660,1661],{"class":733},"slug",[727,1663,1431],{"class":819},[727,1665,803],{"class":819},[727,1667,1436],{"class":819},[727,1669,1670],{"class":736},"acme-corp",[727,1672,1431],{"class":819},[727,1674,1287],{"class":819},[727,1676,1436],{"class":819},[727,1678,1679],{"class":733},"plan",[727,1681,1431],{"class":819},[727,1683,803],{"class":819},[727,1685,1436],{"class":819},[727,1687,1688],{"class":736},"enterprise",[727,1690,1431],{"class":819},[727,1692,920],{"class":819},[727,1694,1696,1698,1701,1703,1705,1707,1709,1711,1713,1715,1717,1720,1722,1724,1726,1728,1730,1732,1735,1737,1739,1742,1744,1746,1748,1751,1753],{"class":729,"line":1695},16,[727,1697,1425],{"class":819},[727,1699,1700],{"class":957},"order",[727,1702,1431],{"class":819},[727,1704,803],{"class":819},[727,1706,820],{"class":819},[727,1708,1436],{"class":819},[727,1710,1284],{"class":733},[727,1712,1431],{"class":819},[727,1714,803],{"class":819},[727,1716,1436],{"class":819},[727,1718,1719],{"class":736},"4821",[727,1721,1431],{"class":819},[727,1723,1287],{"class":819},[727,1725,1436],{"class":819},[727,1727,1299],{"class":733},[727,1729,1431],{"class":819},[727,1731,803],{"class":819},[727,1733,1734],{"class":1476}," 890",[727,1736,1287],{"class":819},[727,1738,1436],{"class":819},[727,1740,1741],{"class":733},"currency",[727,1743,1431],{"class":819},[727,1745,803],{"class":819},[727,1747,1436],{"class":819},[727,1749,1750],{"class":736},"USD",[727,1752,1431],{"class":819},[727,1754,920],{"class":819},[727,1756,1758,1760,1763,1765,1767,1769,1771,1773,1775,1777,1779,1782,1784,1786,1788,1791,1793,1795,1797,1800,1802],{"class":729,"line":1757},17,[727,1759,1425],{"class":819},[727,1761,1762],{"class":957},"approval",[727,1764,1431],{"class":819},[727,1766,803],{"class":819},[727,1768,820],{"class":819},[727,1770,1436],{"class":819},[727,1772,1313],{"class":733},[727,1774,1431],{"class":819},[727,1776,803],{"class":819},[727,1778,1436],{"class":819},[727,1780,1781],{"class":736},"pending",[727,1783,1431],{"class":819},[727,1785,1287],{"class":819},[727,1787,1436],{"class":819},[727,1789,1790],{"class":733},"tool",[727,1792,1431],{"class":819},[727,1794,803],{"class":819},[727,1796,1436],{"class":819},[727,1798,1799],{"class":736},"issue_refund",[727,1801,1431],{"class":819},[727,1803,920],{"class":819},[727,1805,1807,1809,1812,1814,1816],{"class":729,"line":1806},18,[727,1808,1425],{"class":819},[727,1810,1811],{"class":957},"ai",[727,1813,1431],{"class":819},[727,1815,803],{"class":819},[727,1817,961],{"class":819},[727,1819,1821,1823,1826,1828,1830,1833],{"class":729,"line":1820},19,[727,1822,1552],{"class":819},[727,1824,1825],{"class":733},"calls",[727,1827,1431],{"class":819},[727,1829,803],{"class":819},[727,1831,1832],{"class":1476}," 2",[727,1834,936],{"class":819},[727,1836,1838,1840,1843,1845,1847,1849],{"class":729,"line":1837},20,[727,1839,1552],{"class":819},[727,1841,1842],{"class":733},"steps",[727,1844,1431],{"class":819},[727,1846,803],{"class":819},[727,1848,1832],{"class":1476},[727,1850,936],{"class":819},[727,1852,1854,1856,1859,1861,1863,1866],{"class":729,"line":1853},21,[727,1855,1552],{"class":819},[727,1857,1858],{"class":733},"inputTokens",[727,1860,1431],{"class":819},[727,1862,803],{"class":819},[727,1864,1865],{"class":1476}," 11724",[727,1867,936],{"class":819},[727,1869,1871,1873,1876,1878,1880,1883],{"class":729,"line":1870},22,[727,1872,1552],{"class":819},[727,1874,1875],{"class":733},"outputTokens",[727,1877,1431],{"class":819},[727,1879,803],{"class":819},[727,1881,1882],{"class":1476}," 282",[727,1884,936],{"class":819},[727,1886,1888,1890,1893,1895,1897,1899,1902,1904],{"class":729,"line":1887},23,[727,1889,1552],{"class":819},[727,1891,1892],{"class":733},"finishReason",[727,1894,1431],{"class":819},[727,1896,803],{"class":819},[727,1898,1436],{"class":819},[727,1900,1901],{"class":736},"tool-calls",[727,1903,1431],{"class":819},[727,1905,936],{"class":819},[727,1907,1909,1911,1914,1916,1918],{"class":729,"line":1908},24,[727,1910,1552],{"class":819},[727,1912,1913],{"class":733},"tools",[727,1915,1431],{"class":819},[727,1917,803],{"class":819},[727,1919,1920],{"class":819}," [\n",[727,1922,1924,1927,1929,1932,1934,1936,1938,1941,1943,1945,1947,1949,1951,1953,1956,1958,1960,1963,1965,1967,1970],{"class":729,"line":1923},25,[727,1925,1926],{"class":819},"      {",[727,1928,1436],{"class":819},[727,1930,1931],{"class":1476},"name",[727,1933,1431],{"class":819},[727,1935,803],{"class":819},[727,1937,1436],{"class":819},[727,1939,1940],{"class":736},"lookup_customer",[727,1942,1431],{"class":819},[727,1944,1287],{"class":819},[727,1946,1436],{"class":819},[727,1948,1506],{"class":1476},[727,1950,1431],{"class":819},[727,1952,803],{"class":819},[727,1954,1955],{"class":1476}," 26",[727,1957,1287],{"class":819},[727,1959,1436],{"class":819},[727,1961,1962],{"class":1476},"success",[727,1964,1431],{"class":819},[727,1966,803],{"class":819},[727,1968,1969],{"class":819}," true",[727,1971,920],{"class":819},[727,1973,1975,1977,1979,1981,1983,1985,1987,1990,1992,1994,1996,1998,2000,2002,2005,2007,2009,2011,2013,2015,2017],{"class":729,"line":1974},26,[727,1976,1926],{"class":819},[727,1978,1436],{"class":819},[727,1980,1931],{"class":1476},[727,1982,1431],{"class":819},[727,1984,803],{"class":819},[727,1986,1436],{"class":819},[727,1988,1989],{"class":736},"lookup_order",[727,1991,1431],{"class":819},[727,1993,1287],{"class":819},[727,1995,1436],{"class":819},[727,1997,1506],{"class":1476},[727,1999,1431],{"class":819},[727,2001,803],{"class":819},[727,2003,2004],{"class":1476}," 13",[727,2006,1287],{"class":819},[727,2008,1436],{"class":819},[727,2010,1962],{"class":1476},[727,2012,1431],{"class":819},[727,2014,803],{"class":819},[727,2016,1969],{"class":819},[727,2018,2019],{"class":819}," }\n",[727,2021,2023],{"class":729,"line":2022},27,[727,2024,2025],{"class":819},"    ]\n",[727,2027,2029],{"class":729,"line":2028},28,[727,2030,2031],{"class":819},"  }\n",[727,2033,2035],{"class":729,"line":2034},29,[727,2036,2037],{"class":819},"}\n",[535,2039,2040],{},"After approval, the next turn carries the outcome:",[717,2042,2045],{"className":1411,"code":2043,"filename":2044,"language":1414,"meta":723,"style":723},"{\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,2046,2047,2051,2070,2082,2100,2119,2134,2147,2151,2209,2286,2331,2343,2398,2416,2420],{"__ignoreMap":723},[727,2048,2049],{"class":729,"line":730},[727,2050,884],{"class":819},[727,2052,2053,2055,2057,2059,2061,2063,2066,2068],{"class":729,"line":841},[727,2054,1425],{"class":819},[727,2056,1450],{"class":957},[727,2058,1431],{"class":819},[727,2060,803],{"class":819},[727,2062,1436],{"class":819},[727,2064,2065],{"class":736},"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_1",[727,2067,1431],{"class":819},[727,2069,936],{"class":819},[727,2071,2072,2074,2076,2078,2080],{"class":729,"line":862},[727,2073,1425],{"class":819},[727,2075,436],{"class":957},[727,2077,1431],{"class":819},[727,2079,803],{"class":819},[727,2081,961],{"class":819},[727,2083,2084,2086,2088,2090,2092,2094,2096,2098],{"class":729,"line":869},[727,2085,1552],{"class":819},[727,2087,1555],{"class":733},[727,2089,1431],{"class":819},[727,2091,803],{"class":819},[727,2093,1436],{"class":819},[727,2095,1564],{"class":736},[727,2097,1431],{"class":819},[727,2099,936],{"class":819},[727,2101,2102,2104,2106,2108,2110,2112,2115,2117],{"class":729,"line":887},[727,2103,1552],{"class":819},[727,2105,1575],{"class":733},[727,2107,1431],{"class":819},[727,2109,803],{"class":819},[727,2111,1436],{"class":819},[727,2113,2114],{"class":736},"turn_1",[727,2116,1431],{"class":819},[727,2118,936],{"class":819},[727,2120,2121,2123,2125,2127,2129,2132],{"class":729,"line":923},[727,2122,1552],{"class":819},[727,2124,1595],{"class":733},[727,2126,1431],{"class":819},[727,2128,803],{"class":819},[727,2130,2131],{"class":1476}," 1",[727,2133,936],{"class":819},[727,2135,2136,2138,2140,2142,2144],{"class":729,"line":939},[727,2137,1552],{"class":819},[727,2139,1631],{"class":733},[727,2141,1431],{"class":819},[727,2143,803],{"class":819},[727,2145,2146],{"class":1476}," 2\n",[727,2148,2149],{"class":729,"line":964},[727,2150,1000],{"class":819},[727,2152,2153,2155,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2205,2207],{"class":729,"line":997},[727,2154,1425],{"class":819},[727,2156,2157],{"class":957},"refund",[727,2159,1431],{"class":819},[727,2161,803],{"class":819},[727,2163,820],{"class":819},[727,2165,1436],{"class":819},[727,2167,1235],{"class":733},[727,2169,1431],{"class":819},[727,2171,803],{"class":819},[727,2173,1436],{"class":819},[727,2175,1719],{"class":736},[727,2177,1431],{"class":819},[727,2179,1287],{"class":819},[727,2181,1436],{"class":819},[727,2183,1299],{"class":733},[727,2185,1431],{"class":819},[727,2187,803],{"class":819},[727,2189,1734],{"class":1476},[727,2191,1287],{"class":819},[727,2193,1436],{"class":819},[727,2195,1313],{"class":733},[727,2197,1431],{"class":819},[727,2199,803],{"class":819},[727,2201,1436],{"class":819},[727,2203,2204],{"class":736},"refunded",[727,2206,1431],{"class":819},[727,2208,920],{"class":819},[727,2210,2211,2213,2216,2218,2220,2222,2224,2227,2229,2231,2233,2236,2238,2240,2242,2245,2247,2249,2251,2253,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284],{"class":729,"line":1003},[727,2212,1425],{"class":819},[727,2214,2215],{"class":957},"audit",[727,2217,1431],{"class":819},[727,2219,803],{"class":819},[727,2221,820],{"class":819},[727,2223,1436],{"class":819},[727,2225,2226],{"class":733},"action",[727,2228,1431],{"class":819},[727,2230,803],{"class":819},[727,2232,1436],{"class":819},[727,2234,2235],{"class":736},"refund.issued",[727,2237,1431],{"class":819},[727,2239,1287],{"class":819},[727,2241,1436],{"class":819},[727,2243,2244],{"class":733},"target",[727,2246,1431],{"class":819},[727,2248,803],{"class":819},[727,2250,820],{"class":819},[727,2252,1436],{"class":819},[727,2254,2255],{"class":1476},"type",[727,2257,1431],{"class":819},[727,2259,803],{"class":819},[727,2261,1436],{"class":819},[727,2263,1700],{"class":736},[727,2265,1431],{"class":819},[727,2267,1287],{"class":819},[727,2269,1436],{"class":819},[727,2271,1284],{"class":1476},[727,2273,1431],{"class":819},[727,2275,803],{"class":819},[727,2277,1436],{"class":819},[727,2279,1719],{"class":736},[727,2281,1431],{"class":819},[727,2283,827],{"class":819},[727,2285,920],{"class":819},[727,2287,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2311,2313,2315,2317,2319,2321,2323,2325,2327,2329],{"class":729,"line":1254},[727,2289,1425],{"class":819},[727,2291,1762],{"class":957},[727,2293,1431],{"class":819},[727,2295,803],{"class":819},[727,2297,820],{"class":819},[727,2299,1436],{"class":819},[727,2301,1313],{"class":733},[727,2303,1431],{"class":819},[727,2305,803],{"class":819},[727,2307,1436],{"class":819},[727,2309,2310],{"class":736},"approved",[727,2312,1431],{"class":819},[727,2314,1287],{"class":819},[727,2316,1436],{"class":819},[727,2318,1790],{"class":733},[727,2320,1431],{"class":819},[727,2322,803],{"class":819},[727,2324,1436],{"class":819},[727,2326,1799],{"class":736},[727,2328,1431],{"class":819},[727,2330,920],{"class":819},[727,2332,2333,2335,2337,2339,2341],{"class":729,"line":1322},[727,2334,1425],{"class":819},[727,2336,1811],{"class":957},[727,2338,1431],{"class":819},[727,2340,803],{"class":819},[727,2342,961],{"class":819},[727,2344,2345,2347,2349,2351,2353,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2383,2385,2387,2389,2391,2393,2395],{"class":729,"line":1331},[727,2346,1552],{"class":819},[727,2348,1913],{"class":733},[727,2350,1431],{"class":819},[727,2352,803],{"class":819},[727,2354,2355],{"class":819}," [{",[727,2357,1436],{"class":819},[727,2359,1931],{"class":1476},[727,2361,1431],{"class":819},[727,2363,803],{"class":819},[727,2365,1436],{"class":819},[727,2367,1799],{"class":736},[727,2369,1431],{"class":819},[727,2371,1287],{"class":819},[727,2373,1436],{"class":819},[727,2375,1506],{"class":1476},[727,2377,1431],{"class":819},[727,2379,803],{"class":819},[727,2381,2382],{"class":1476}," 993",[727,2384,1287],{"class":819},[727,2386,1436],{"class":819},[727,2388,1962],{"class":1476},[727,2390,1431],{"class":819},[727,2392,803],{"class":819},[727,2394,1969],{"class":819},[727,2396,2397],{"class":819}," }],\n",[727,2399,2400,2402,2404,2406,2408,2410,2413],{"class":729,"line":1336},[727,2401,1552],{"class":819},[727,2403,1892],{"class":733},[727,2405,1431],{"class":819},[727,2407,803],{"class":819},[727,2409,1436],{"class":819},[727,2411,2412],{"class":736},"stop",[727,2414,2415],{"class":819},"\"\n",[727,2417,2418],{"class":729,"line":1645},[727,2419,2031],{"class":819},[727,2421,2422],{"class":729,"line":1695},[727,2423,2037],{"class":819},[535,2425,2426,2427,2430,2431,2430,2434,2437,2438,2440,2441,2444,2445,2448,2449,2452,2453,2430,2455,2430,2458,2430,2461,2430,2464,970],{},"Token usage and tool executions are accumulated from eve stream events (",[554,2428,2429],{},"step.completed",", ",[554,2432,2433],{},"actions.requested",[554,2435,2436],{},"action.result","). Business fields set via ",[554,2439,1045],{}," carry across turns in the same session. Link turns in analytics with ",[554,2442,2443],{},"eve.sessionId"," + ",[554,2446,2447],{},"eve.turnSequence"," — each event stays self-contained. ",[554,2450,2451],{},"eve.phase"," is only set for non-routine endings: ",[554,2454,1620],{},[554,2456,2457],{},"awaiting-authorization",[554,2459,2460],{},"rejected",[554,2462,2463],{},"cancelled",[554,2465,2466],{},"failed",[709,2468,2470],{"id":2469},"everything-the-turn-can-report","Everything the turn can report",[535,2472,2473],{},"Beyond the identifiers above, a turn records what eve reports about it. Every field is optional — it appears only when the turn produced it.",[635,2475,2476,2486],{},[638,2477,2478],{},[641,2479,2480,2483],{},[644,2481,2482],{},"Field",[644,2484,2485],{},"What it tells you",[651,2487,2488,2508,2521,2538,2552,2565,2575,2591,2601,2611,2625],{},[641,2489,2490,2495],{},[656,2491,2492],{},[554,2493,2494],{},"eve.runtime",[656,2496,2497,2498,2501,2502,2501,2505],{},"eve version, agent id, model, and the deployed ",[554,2499,2500],{},"gitSha"," \u002F ",[554,2503,2504],{},"gitBranch",[554,2506,2507],{},"deployedAt",[641,2509,2510,2515],{},[656,2511,2512],{},[554,2513,2514],{},"eve.parent",[656,2516,2517,2518],{},"Parent and root session ids for a subagent run — rebuild the delegation tree with ",[554,2519,2520],{},"rootSessionId",[641,2522,2523,2528],{},[656,2524,2525],{},[554,2526,2527],{},"eve.authorizations",[656,2529,2530,2531,2430,2534,2537],{},"Connection sign-ins with their ",[554,2532,2533],{},"outcome",[554,2535,2536],{},"reason"," and duration",[641,2539,2540,2545],{},[656,2541,2542],{},[554,2543,2544],{},"eve.compaction",[656,2546,2547,2548,2551],{},"How many compactions ran, on which model, and ",[554,2549,2550],{},"inputTokensAtTrigger"," — how full the context was when the first one fired",[641,2553,2554,2562],{},[656,2555,2556,2501,2559],{},[554,2557,2558],{},"eve.stepFailures",[554,2560,2561],{},"eve.failedSteps",[656,2563,2564],{},"Model calls that failed, including on a turn that then succeeded on retry",[641,2566,2567,2572],{},[656,2568,2569],{},[554,2570,2571],{},"eve.subagents",[656,2573,2574],{},"Delegations with their status and duration",[641,2576,2577,2582],{},[656,2578,2579],{},[554,2580,2581],{},"eve.reasoning",[656,2583,2584,579,2587,2590],{},[554,2585,2586],{},"blocks",[554,2588,2589],{},"chars"," — the size of the model's thinking, never its content",[641,2592,2593,2598],{},[656,2594,2595],{},[554,2596,2597],{},"eve.result",[656,2599,2600],{},"The structured result, for an agent with an output schema",[641,2602,2603,2608],{},[656,2604,2605],{},[554,2606,2607],{},"eve.contextCleared",[656,2609,2610],{},"The durable history was wiped during this turn",[641,2612,2613,2618],{},[656,2614,2615],{},[554,2616,2617],{},"message.responseChars",[656,2619,2620,2621,2624],{},"Length of the agent's response, recorded whatever the ",[554,2622,2623],{},"message"," mode",[641,2626,2627,2632],{},[656,2628,2629],{},[554,2630,2631],{},"ai.costUsd",[656,2633,2634,2635,2638,2639],{},"Cost as reported by eve. ",[554,2636,2637],{},"ai.estimatedCost"," is the fallback computed from ",[554,2640,2641],{},"cost",[630,2643,2645],{"id":2644},"correlate-traces-with-wide-events","Correlate traces with wide events",[535,2647,2648,2649,2651],{},"A wide event and an Agent Runs span describe the same turn, but nothing joins them on its own. ",[554,2650,699],{}," stamps evlog's turn identity onto eve's AI SDK spans:",[717,2653,2655],{"className":806,"code":2654,"filename":556,"language":808,"meta":723,"style":723},"import { defineEvlogInstrumentation } from 'evlog\u002Feve'\n\nexport default defineEvlogInstrumentation()\n",[554,2656,2657,2676,2680],{"__ignoreMap":723},[727,2658,2659,2661,2663,2666,2668,2670,2672,2674],{"class":729,"line":730},[727,2660,816],{"class":815},[727,2662,820],{"class":819},[727,2664,2665],{"class":823}," defineEvlogInstrumentation",[727,2667,827],{"class":819},[727,2669,830],{"class":815},[727,2671,833],{"class":819},[727,2673,560],{"class":736},[727,2675,838],{"class":819},[727,2677,2678],{"class":729,"line":841},[727,2679,866],{"emptyLinePlaceholder":865},[727,2681,2682,2684,2686,2688],{"class":729,"line":862},[727,2683,872],{"class":815},[727,2685,875],{"class":815},[727,2687,2665],{"class":878},[727,2689,1251],{"class":823},[535,2691,2692,2693,579,2696,2699,2700,579,2703,2705],{},"Every model-call span — and its children — then carries ",[554,2694,2695],{},"evlog.request_id",[554,2697,2698],{},"evlog.session_id",", the same values the wide event reports as ",[554,2701,2702],{},"requestId",[554,2704,2443],{},". Jump from a trace in Braintrust, Datadog or Agent Runs straight to the event in your drain, and back.",[535,2707,2708,2709,2712,2713,2716],{},"Without ",[554,2710,2711],{},"setup",", OpenTelemetry export is untouched: eve keeps writing its local traces, readable with ",[554,2714,2715],{},"eve traces",". Pass one to export elsewhere:",[717,2718,2720],{"className":806,"code":2719,"filename":556,"language":808,"meta":723,"style":723},"import { defineEvlogInstrumentation } from 'evlog\u002Feve'\nimport { registerOTel } from '@vercel\u002Fotel'\n\nexport default defineEvlogInstrumentation({\n  setup: ({ agentName }) => registerOTel({ serviceName: agentName }),\n})\n",[554,2721,2722,2740,2760,2764,2776,2813],{"__ignoreMap":723},[727,2723,2724,2726,2728,2730,2732,2734,2736,2738],{"class":729,"line":730},[727,2725,816],{"class":815},[727,2727,820],{"class":819},[727,2729,2665],{"class":823},[727,2731,827],{"class":819},[727,2733,830],{"class":815},[727,2735,833],{"class":819},[727,2737,560],{"class":736},[727,2739,838],{"class":819},[727,2741,2742,2744,2746,2749,2751,2753,2755,2758],{"class":729,"line":841},[727,2743,816],{"class":815},[727,2745,820],{"class":819},[727,2747,2748],{"class":823}," registerOTel",[727,2750,827],{"class":819},[727,2752,830],{"class":815},[727,2754,833],{"class":819},[727,2756,2757],{"class":736},"@vercel\u002Fotel",[727,2759,838],{"class":819},[727,2761,2762],{"class":729,"line":862},[727,2763,866],{"emptyLinePlaceholder":865},[727,2765,2766,2768,2770,2772,2774],{"class":729,"line":869},[727,2767,872],{"class":815},[727,2769,875],{"class":815},[727,2771,2665],{"class":878},[727,2773,881],{"class":823},[727,2775,884],{"class":819},[727,2777,2778,2781,2783,2786,2789,2791,2793,2795,2797,2799,2802,2804,2807,2809,2811],{"class":729,"line":887},[727,2779,2780],{"class":878},"  setup",[727,2782,803],{"class":819},[727,2784,2785],{"class":819}," ({",[727,2787,2788],{"class":950}," agentName",[727,2790,1212],{"class":819},[727,2792,958],{"class":957},[727,2794,2748],{"class":878},[727,2796,881],{"class":823},[727,2798,1175],{"class":819},[727,2800,2801],{"class":890}," serviceName",[727,2803,803],{"class":819},[727,2805,2806],{"class":823}," agentName ",[727,2808,1006],{"class":819},[727,2810,954],{"class":823},[727,2812,936],{"class":819},[727,2814,2815,2817],{"class":729,"line":923},[727,2816,1006],{"class":819},[727,2818,1009],{"class":823},[535,2820,2821,2430,2824,2430,2827,579,2830,2833,2834,970],{},[554,2822,2823],{},"functionId",[554,2825,2826],{},"recordInputs",[554,2828,2829],{},"recordOutputs",[554,2831,2832],{},"traceChannelRequests"," pass straight through to eve's ",[554,2835,2836],{},"defineInstrumentation",[630,2838,2840],{"id":2839},"production","Production",[535,2842,2843],{},"Long-running eve agents should disable terminal pretty-printing and use a non-blocking drain:",[717,2845,2847],{"className":806,"code":2846,"filename":802,"language":808,"meta":723,"style":723},"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,2848,2849,2867,2885,2905,2909,2958,2967,2971,2975,2987,2995,3029,3042,3070,3074,3080,3092],{"__ignoreMap":723},[727,2850,2851,2853,2855,2857,2859,2861,2863,2865],{"class":729,"line":730},[727,2852,816],{"class":815},[727,2854,820],{"class":819},[727,2856,824],{"class":823},[727,2858,827],{"class":819},[727,2860,830],{"class":815},[727,2862,833],{"class":819},[727,2864,560],{"class":736},[727,2866,838],{"class":819},[727,2868,2869,2871,2873,2875,2877,2879,2881,2883],{"class":729,"line":841},[727,2870,816],{"class":815},[727,2872,820],{"class":819},[727,2874,848],{"class":823},[727,2876,827],{"class":819},[727,2878,830],{"class":815},[727,2880,833],{"class":819},[727,2882,857],{"class":736},[727,2884,838],{"class":819},[727,2886,2887,2889,2891,2894,2896,2898,2900,2903],{"class":729,"line":862},[727,2888,816],{"class":815},[727,2890,820],{"class":819},[727,2892,2893],{"class":823}," createDrainPipeline",[727,2895,827],{"class":819},[727,2897,830],{"class":815},[727,2899,833],{"class":819},[727,2901,2902],{"class":736},"evlog\u002Fpipeline",[727,2904,838],{"class":819},[727,2906,2907],{"class":729,"line":869},[727,2908,866],{"emptyLinePlaceholder":865},[727,2910,2911,2914,2917,2920,2922,2924,2926,2929,2931,2933,2936,2938,2941,2943,2946,2948,2951,2953,2955],{"class":729,"line":887},[727,2912,2913],{"class":957},"const",[727,2915,2916],{"class":823}," drain ",[727,2918,2919],{"class":819},"=",[727,2921,2893],{"class":878},[727,2923,881],{"class":823},[727,2925,1175],{"class":819},[727,2927,2928],{"class":890}," batch",[727,2930,803],{"class":819},[727,2932,820],{"class":819},[727,2934,2935],{"class":890}," size",[727,2937,803],{"class":819},[727,2939,2940],{"class":1476}," 50",[727,2942,1287],{"class":819},[727,2944,2945],{"class":890}," intervalMs",[727,2947,803],{"class":819},[727,2949,2950],{"class":1476}," 5000",[727,2952,827],{"class":819},[727,2954,827],{"class":819},[727,2956,2957],{"class":823},")(\n",[727,2959,2960,2963,2965],{"class":729,"line":923},[727,2961,2962],{"class":878},"  createAxiomDrain",[727,2964,933],{"class":823},[727,2966,936],{"class":819},[727,2968,2969],{"class":729,"line":939},[727,2970,1009],{"class":823},[727,2972,2973],{"class":729,"line":964},[727,2974,866],{"emptyLinePlaceholder":865},[727,2976,2977,2979,2981,2983,2985],{"class":729,"line":997},[727,2978,872],{"class":815},[727,2980,875],{"class":815},[727,2982,824],{"class":878},[727,2984,881],{"class":823},[727,2986,884],{"class":819},[727,2988,2989,2991,2993],{"class":729,"line":1003},[727,2990,891],{"class":890},[727,2992,803],{"class":819},[727,2994,961],{"class":819},[727,2996,2997,3000,3002,3004,3006,3008,3010,3012,3014,3016,3019,3021,3023,3025,3027],{"class":729,"line":1254},[727,2998,2999],{"class":890},"    env",[727,3001,803],{"class":819},[727,3003,820],{"class":819},[727,3005,905],{"class":890},[727,3007,803],{"class":819},[727,3009,833],{"class":819},[727,3011,912],{"class":736},[727,3013,915],{"class":819},[727,3015,1287],{"class":819},[727,3017,3018],{"class":890}," environment",[727,3020,803],{"class":819},[727,3022,833],{"class":819},[727,3024,2839],{"class":736},[727,3026,915],{"class":819},[727,3028,920],{"class":819},[727,3030,3031,3034,3036,3040],{"class":729,"line":1322},[727,3032,3033],{"class":890},"    pretty",[727,3035,803],{"class":819},[727,3037,3039],{"class":3038},"sfNiH"," false",[727,3041,936],{"class":819},[727,3043,3044,3047,3049,3051,3054,3056,3058,3061,3063,3066,3068],{"class":729,"line":1331},[727,3045,3046],{"class":890},"    sampling",[727,3048,803],{"class":819},[727,3050,820],{"class":819},[727,3052,3053],{"class":890}," rates",[727,3055,803],{"class":819},[727,3057,820],{"class":819},[727,3059,3060],{"class":890}," info",[727,3062,803],{"class":819},[727,3064,3065],{"class":1476}," 10",[727,3067,827],{"class":819},[727,3069,920],{"class":819},[727,3071,3072],{"class":729,"line":1336},[727,3073,1000],{"class":819},[727,3075,3076,3078],{"class":729,"line":1645},[727,3077,926],{"class":823},[727,3079,936],{"class":819},[727,3081,3082,3085,3087,3090],{"class":729,"line":1695},[727,3083,3084],{"class":890},"  maxSessions",[727,3086,803],{"class":819},[727,3088,3089],{"class":1476}," 256",[727,3091,936],{"class":819},[727,3093,3094,3096],{"class":729,"line":1757},[727,3095,1006],{"class":819},[727,3097,1009],{"class":823},[635,3099,3100,3110],{},[638,3101,3102],{},[641,3103,3104,3107],{},[644,3105,3106],{},"Concern",[644,3108,3109],{},"Recommendation",[651,3111,3112,3123,3131,3142,3156],{},[641,3113,3114,3117],{},[656,3115,3116],{},"Terminal output",[656,3118,3119,3122],{},[554,3120,3121],{},"init.pretty: false"," — pretty-print is for local dev only",[641,3124,3125,3128],{},[656,3126,3127],{},"Drain latency",[656,3129,3130],{},"Batch or async HTTP drains; never block the turn on I\u002FO",[641,3132,3133,3136],{},[656,3134,3135],{},"Head sampling",[656,3137,3138,3141],{},[554,3139,3140],{},"init.sampling.rates"," — eve emits one event per turn, not per token",[641,3143,3144,3146],{},[656,3145,216],{},[656,3147,3148,3151,3152,3155],{},[554,3149,3150],{},"maxSessions"," (default ",[554,3153,3154],{},"256",") evicts oldest idle session state",[641,3157,3158,3161],{},[656,3159,3160],{},"Load",[656,3162,3163],{},"Hook handlers are O(1) per stream event; cost is dominated by your drain",[630,3165,336],{"id":3166},"options",[635,3168,3169,3179],{},[638,3170,3171],{},[641,3172,3173,3176],{},[644,3174,3175],{},"Option",[644,3177,3178],{},"Description",[651,3180,3181,3194,3215,3235,3251,3264,3286,3297],{},[641,3182,3183,3187],{},[656,3184,3185],{},[554,3186,89],{},[656,3188,3189,3190,3193],{},"Passed to ",[554,3191,3192],{},"initLogger()"," on first hook invocation",[641,3195,3196,3210],{},[656,3197,3198,2501,3201,2501,3204,2501,3207],{},[554,3199,3200],{},"drain",[554,3202,3203],{},"enrich",[554,3205,3206],{},"keep",[554,3208,3209],{},"plugins",[656,3211,3212,3213,954],{},"Same as HTTP integrations (",[538,3214,3209],{"href":474},[641,3216,3217,3221],{},[656,3218,3219],{},[554,3220,2623],{},[656,3222,3223,3226,3227,3230,3231,3234],{},[554,3224,3225],{},"'omit'"," (default), ",[554,3228,3229],{},"'preview'"," or ",[554,3232,3233],{},"'full'"," — how much of the user message and the agent response to record",[641,3236,3237,3242],{},[656,3238,3239],{},[554,3240,3241],{},"messagePreviewLength",[656,3243,3244,3245,3247,3248,954],{},"Characters kept in ",[554,3246,3229],{}," mode (default ",[554,3249,3250],{},"500",[641,3252,3253,3258],{},[656,3254,3255],{},[554,3256,3257],{},"sessionEvent",[656,3259,3260,3263],{},[554,3261,3262],{},"true"," emits one extra event per session, rolling up its turns",[641,3265,3266,3273],{},[656,3267,3268,2501,3270],{},[554,3269,2641],{},[554,3271,3272],{},"model",[656,3274,3275,3276,1375,3279,3282,3283,3285],{},"Fallback token pricing (",[554,3277,3278],{},"ModelCost",[554,3280,3281],{},"evlog\u002Fai",") → ",[554,3284,2637],{},", used only when eve reports no cost",[641,3287,3288,3292],{},[656,3289,3290],{},[554,3291,3150],{},[656,3293,3294,3295,954],{},"In-memory session cap for context carry-over (default ",[554,3296,3154],{},[641,3298,3299,3307],{},[656,3300,3301,2501,3304],{},[554,3302,3303],{},"include",[554,3305,3306],{},"exclude",[656,3308,3309,3310,954],{},"Route-style filters on turn paths (",[554,3311,3312],{},"\u002Fsessions\u002F*\u002Fturns\u002F*",[630,3314,481],{"id":3315},"tail-sampling",[535,3317,3318,3319,3321],{},"Use ",[554,3320,3206],{}," to force-keep turns with failed tools or high token usage:",[717,3323,3325],{"className":806,"code":3324,"filename":802,"language":808,"meta":723,"style":723},"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,3326,3327,3339,3351,3368,3394,3405,3414,3438,3449,3492,3522,3568,3572],{"__ignoreMap":723},[727,3328,3329,3331,3333,3335,3337],{"class":729,"line":730},[727,3330,872],{"class":815},[727,3332,875],{"class":815},[727,3334,824],{"class":878},[727,3336,881],{"class":823},[727,3338,884],{"class":819},[727,3340,3341,3343,3345,3347,3349],{"class":729,"line":841},[727,3342,926],{"class":890},[727,3344,803],{"class":819},[727,3346,848],{"class":878},[727,3348,933],{"class":823},[727,3350,936],{"class":819},[727,3352,3353,3356,3358,3360,3362,3364,3366],{"class":729,"line":862},[727,3354,3355],{"class":878},"  keep",[727,3357,803],{"class":819},[727,3359,947],{"class":819},[727,3361,951],{"class":950},[727,3363,954],{"class":819},[727,3365,958],{"class":957},[727,3367,961],{"class":819},[727,3369,3370,3372,3375,3377,3380,3382,3385,3387,3389,3392],{"class":729,"line":869},[727,3371,1219],{"class":957},[727,3373,3374],{"class":823}," ai",[727,3376,981],{"class":819},[727,3378,3379],{"class":823}," ctx",[727,3381,970],{"class":819},[727,3383,3384],{"class":823},"context",[727,3386,970],{"class":819},[727,3388,1811],{"class":823},[727,3390,3391],{"class":815}," as",[727,3393,961],{"class":819},[727,3395,3396,3399,3402],{"class":729,"line":887},[727,3397,3398],{"class":890},"      inputTokens",[727,3400,3401],{"class":819},"?:",[727,3403,3404],{"class":733}," number\n",[727,3406,3407,3410,3412],{"class":729,"line":923},[727,3408,3409],{"class":890},"      outputTokens",[727,3411,3401],{"class":819},[727,3413,3404],{"class":733},[727,3415,3416,3419,3421,3424,3427,3430,3432,3435],{"class":729,"line":939},[727,3417,3418],{"class":890},"      tools",[727,3420,3401],{"class":819},[727,3422,3423],{"class":733}," Array",[727,3425,3426],{"class":819},"\u003C{",[727,3428,3429],{"class":890}," success",[727,3431,803],{"class":819},[727,3433,3434],{"class":733}," boolean",[727,3436,3437],{"class":819}," }>\n",[727,3439,3440,3443,3446],{"class":729,"line":964},[727,3441,3442],{"class":819},"    }",[727,3444,3445],{"class":819}," |",[727,3447,3448],{"class":733}," undefined\n",[727,3450,3451,3453,3456,3458,3460,3462,3465,3467,3470,3472,3475,3478,3480,3482,3484,3486,3488,3490],{"class":729,"line":997},[727,3452,1219],{"class":957},[727,3454,3455],{"class":823}," totalTokens",[727,3457,981],{"class":819},[727,3459,947],{"class":890},[727,3461,1811],{"class":823},[727,3463,3464],{"class":819},"?.",[727,3466,1858],{"class":823},[727,3468,3469],{"class":819}," ??",[727,3471,1602],{"class":1476},[727,3473,3474],{"class":890},") ",[727,3476,3477],{"class":819},"+",[727,3479,947],{"class":890},[727,3481,1811],{"class":823},[727,3483,3464],{"class":819},[727,3485,1875],{"class":823},[727,3487,3469],{"class":819},[727,3489,1602],{"class":1476},[727,3491,1009],{"class":890},[727,3493,3494,3497,3499,3502,3505,3508,3510,3512,3514,3517,3519],{"class":729,"line":1003},[727,3495,3496],{"class":815},"    if",[727,3498,947],{"class":890},[727,3500,3501],{"class":823},"totalTokens",[727,3503,3504],{"class":819}," >",[727,3506,3507],{"class":1476}," 10_000",[727,3509,3474],{"class":890},[727,3511,951],{"class":823},[727,3513,970],{"class":819},[727,3515,3516],{"class":823},"shouldKeep",[727,3518,981],{"class":819},[727,3520,3521],{"class":3038}," true\n",[727,3523,3524,3526,3528,3530,3532,3534,3536,3539,3541,3544,3546,3549,3551,3553,3555,3558,3560,3562,3564,3566],{"class":729,"line":1254},[727,3525,3496],{"class":815},[727,3527,947],{"class":890},[727,3529,1811],{"class":823},[727,3531,3464],{"class":819},[727,3533,1913],{"class":823},[727,3535,3464],{"class":819},[727,3537,3538],{"class":878},"some",[727,3540,881],{"class":890},[727,3542,3543],{"class":950},"t",[727,3545,958],{"class":957},[727,3547,3548],{"class":819}," !",[727,3550,3543],{"class":823},[727,3552,970],{"class":819},[727,3554,1962],{"class":823},[727,3556,3557],{"class":890},")) ",[727,3559,951],{"class":823},[727,3561,970],{"class":819},[727,3563,3516],{"class":823},[727,3565,981],{"class":819},[727,3567,3521],{"class":3038},[727,3569,3570],{"class":729,"line":1322},[727,3571,1000],{"class":819},[727,3573,3574,3576],{"class":729,"line":1331},[727,3575,1006],{"class":819},[727,3577,1009],{"class":823},[630,3579,3581],{"id":3580},"audit-logs","Audit logs",[535,3583,3584,3585,3587,3588,3591,3592,3595,3596,3599,3600,1371,3602,970],{},"Combine with ",[538,3586,378],{"href":384},": register ",[554,3589,3590],{},"auditEnricher()"," via ",[554,3593,3594],{},"init.plugins"," or a global plugin, and call ",[554,3597,3598],{},"log.audit()"," inside tools when a human approval gate fires. Tool rejections surface on ",[554,3601,2436],{},[554,3603,3604],{},"status: \"rejected\"",[630,3606,3608],{"id":3607},"run-locally","Run locally",[717,3610,3612],{"className":719,"code":3611,"language":722,"meta":723,"style":723},"git clone https:\u002F\u002Fgithub.com\u002FHugoRCD\u002Fevlog\ncd evlog\npnpm install\npnpm example eve\n",[554,3613,3614,3625,3633,3640],{"__ignoreMap":723},[727,3615,3616,3619,3622],{"class":729,"line":730},[727,3617,3618],{"class":733},"git",[727,3620,3621],{"class":736}," clone",[727,3623,3624],{"class":736}," https:\u002F\u002Fgithub.com\u002FHugoRCD\u002Fevlog\n",[727,3626,3627,3630],{"class":729,"line":841},[727,3628,3629],{"class":878},"cd",[727,3631,3632],{"class":736}," evlog\n",[727,3634,3635,3637],{"class":729,"line":862},[727,3636,721],{"class":733},[727,3638,3639],{"class":736}," install\n",[727,3641,3642,3644,3647],{"class":729,"line":869},[727,3643,721],{"class":733},[727,3645,3646],{"class":736}," example",[727,3648,743],{"class":736},[535,3650,3651,3652,3655,3656,3659,3660,3663,3664,3670],{},"The ",[554,3653,3654],{},"examples\u002Feve"," project is a ",[545,3657,3658],{},"support refund copilot"," (Clearbill SaaS): lookup customer → lookup order → issue refund, with eve approvals when amount > $100. Run ",[554,3661,3662],{},"pnpm example eve",", open ",[545,3665,3666],{},[538,3667,3668],{"href":3668,"rel":3669},"http:\u002F\u002Flocalhost:3000",[542],", and click a starter prompt.",[630,3672,3674],{"id":3673},"what-to-read-next","What to read next",[593,3676,3677,3685,3693,3699],{},[596,3678,3679,3684],{},[538,3680,3683],{"href":3681,"rel":3682},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fguides\u002Fhooks",[542],"eve hooks guide"," — stream event vocabulary",[596,3686,3687,3692],{},[538,3688,3691],{"href":3689,"rel":3690},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fguides\u002Finstrumentation",[542],"eve instrumentation"," — OTel spans (complementary)",[596,3694,3695,3698],{},[538,3696,3697],{"href":328},"AI SDK use case"," — when you own the model loop directly",[596,3700,3701,3704],{},[538,3702,3703],{"href":143},"Adapters overview"," — drain destinations",[3706,3707,3708],"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":723,"searchDepth":841,"depth":841,"links":3710},[3711,3712,3718,3721,3722,3723,3724,3725,3726,3727],{"id":632,"depth":841,"text":633},{"id":707,"depth":841,"text":25,"children":3713},[3714,3715,3716,3717],{"id":711,"depth":862,"text":712},{"id":795,"depth":862,"text":796},{"id":1023,"depth":862,"text":1024},{"id":1363,"depth":862,"text":1364},{"id":1404,"depth":841,"text":1405,"children":3719},[3720],{"id":2469,"depth":862,"text":2470},{"id":2644,"depth":841,"text":2645},{"id":2839,"depth":841,"text":2840},{"id":3166,"depth":841,"text":336},{"id":3315,"depth":841,"text":481},{"id":3580,"depth":841,"text":3581},{"id":3607,"depth":841,"text":3608},{"id":3673,"depth":841,"text":3674},"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",[3731],{"label":3732,"icon":3733,"to":1056,"color":1343,"variant":3734},"Source Code","i-simple-icons-github","subtle",{},{"title":436,"icon":439},{"title":436,"description":3728},"B3wmoNqYJbSIHhPPVK_DE7k6jirCzfhcdzZX6bxplrk",[3740,3742],{"title":431,"path":432,"stem":433,"description":3741,"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":3743,"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).",1786118860325]