[{"data":1,"prerenderedAt":4624},["ShallowReactive",2],{"navigation_docs":3,"-use-cases-eve":567,"-use-cases-eve-surround":4619},[4,30,80,133,313,444,503,542],{"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,128],{"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,"icon":132},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":134,"path":135,"stem":136,"children":137,"page":29},"Integrate","\u002Fintegrate","4.integrate",[138,142,225],{"title":36,"path":139,"stem":140,"icon":141},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":143,"path":144,"stem":145,"children":146,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[147,150,180,205],{"title":36,"path":148,"stem":149,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":151,"path":152,"stem":153,"children":154,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[155,160,165,170,175],{"title":156,"path":157,"stem":158,"icon":159},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":161,"path":162,"stem":163,"icon":164},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":166,"path":167,"stem":168,"icon":169},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":171,"path":172,"stem":173,"icon":174},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":176,"path":177,"stem":178,"icon":179},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":181,"path":182,"stem":183,"children":184,"page":29},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[185,190,195,200],{"title":186,"path":187,"stem":188,"icon":189},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":191,"path":192,"stem":193,"icon":194},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":196,"path":197,"stem":198,"icon":199},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":201,"path":202,"stem":203,"icon":204},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":206,"path":207,"stem":208,"children":209,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[210,215,220],{"title":211,"path":212,"stem":213,"icon":214},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":216,"path":217,"stem":218,"icon":219},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":221,"path":222,"stem":223,"icon":224},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":226,"path":227,"stem":228,"children":229,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[230,234,239,244,249,254,259,264,269,274,279,284,289,294,298,303,308],{"title":36,"path":231,"stem":232,"icon":233},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":235,"path":236,"stem":237,"icon":238},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":240,"path":241,"stem":242,"icon":243},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":245,"path":246,"stem":247,"icon":248},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":250,"path":251,"stem":252,"icon":253},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":255,"path":256,"stem":257,"icon":258},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":260,"path":261,"stem":262,"icon":263},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":265,"path":266,"stem":267,"icon":268},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":270,"path":271,"stem":272,"icon":273},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":275,"path":276,"stem":277,"icon":278},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":280,"path":281,"stem":282,"icon":283},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":285,"path":286,"stem":287,"icon":288},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":290,"path":291,"stem":292,"icon":293},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":295,"path":296,"stem":297,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":299,"path":300,"stem":301,"icon":302},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":304,"path":305,"stem":306,"icon":307},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":309,"path":310,"stem":311,"icon":312},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":314,"path":315,"stem":316,"children":317,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[318,321,326,354,381,413,434,439],{"title":36,"path":319,"stem":320,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":322,"path":323,"stem":324,"icon":325},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":327,"icon":328,"path":329,"stem":330,"children":331,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[332,335,340,345,350],{"title":36,"path":333,"stem":334,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":336,"path":337,"stem":338,"icon":339},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":341,"path":342,"stem":343,"icon":344},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":346,"path":347,"stem":348,"icon":349},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":351,"path":352,"stem":353,"icon":132},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":355,"icon":356,"path":357,"stem":358,"children":359,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[360,363,368,373,377],{"title":36,"path":361,"stem":362,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":364,"path":365,"stem":366,"icon":367},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":369,"path":370,"stem":371,"icon":372},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":374,"path":375,"stem":376,"icon":325},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":378,"path":379,"stem":380,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":382,"icon":383,"path":384,"stem":385,"children":386,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[387,390,395,400,405,409],{"title":36,"path":388,"stem":389,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":391,"path":392,"stem":393,"icon":394},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":396,"path":397,"stem":398,"icon":399},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":401,"path":402,"stem":403,"icon":404},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":406,"path":407,"stem":408,"icon":383},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":410,"path":411,"stem":412,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":351,"icon":107,"path":414,"stem":415,"children":416,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[417,420,425,430],{"title":36,"path":418,"stem":419,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":421,"path":422,"stem":423,"icon":424},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":426,"path":427,"stem":428,"icon":429},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":431,"path":432,"stem":433,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":435,"path":436,"stem":437,"icon":438},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":440,"path":441,"stem":442,"icon":443},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":445,"path":446,"stem":447,"children":448,"page":29},"Extend","\u002Fextend","6.extend",[449,453,458,463,467,472,476,480,484,488,493,498],{"title":36,"path":450,"stem":451,"icon":452},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":454,"path":455,"stem":456,"icon":457},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":459,"path":460,"stem":461,"icon":462},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":464,"path":465,"stem":466,"icon":457},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":468,"path":469,"stem":470,"icon":471},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":410,"path":473,"stem":474,"icon":475},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":477,"path":478,"stem":479,"icon":452},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":481,"path":482,"stem":483,"icon":438},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":485,"path":486,"stem":487,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":489,"path":490,"stem":491,"icon":492},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":494,"path":495,"stem":496,"icon":497},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":499,"path":500,"stem":501,"icon":502},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":431,"path":504,"stem":505,"children":506,"page":29},"\u002Freference","7.reference",[507,511,516,519,524,528,533,537],{"title":36,"path":508,"stem":509,"icon":510},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":512,"path":513,"stem":514,"icon":515},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":378,"path":517,"stem":518,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":520,"path":521,"stem":522,"icon":523},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":525,"path":526,"stem":527,"icon":383},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":529,"path":530,"stem":531,"icon":532},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":534,"path":535,"stem":536,"icon":438},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":538,"path":539,"stem":540,"icon":541},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":543,"path":544,"stem":545,"children":546,"page":29},"Compare","\u002Fcompare","8.compare",[547,551,555,559,563],{"title":548,"path":549,"stem":550,"icon":532},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":552,"path":553,"stem":554,"icon":199},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":556,"path":557,"stem":558,"icon":532},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":560,"path":561,"stem":562,"icon":532},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":564,"path":565,"stem":566,"icon":532},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":568,"title":440,"body":569,"description":4608,"extension":4609,"links":4610,"meta":4615,"navigation":4616,"path":441,"seo":4617,"stem":442,"__hash__":4618},"docs\u002F5.use-cases\u002F5.eve.md",{"type":570,"value":571,"toc":4587},"minimark",[572,604,622,667,672,743,746,751,831,835,842,1048,1059,1063,1089,1098,1379,1402,1406,1443,1447,1450,2133,2136,2519,2562,2566,2569,2799,2803,2809,2847,2863,2874,2976,2994,2998,3014,3024,3549,3562,3572,3605,3612,3615,3710,3717,3721,3724,3978,4044,4047,4192,4195,4201,4456,4460,4483,4487,4527,4549,4553,4583],[573,574,575,581,582,586,587,590,591,595,596,599,600,603],"p",{},[576,577,440],"a",{"href":578,"rel":579},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fintroduction",[580],"nofollow"," ships built-in observability: ",[583,584,585],"strong",{},"Agent Runs"," on Vercel and optional ",[583,588,589],{},"OpenTelemetry"," spans via ",[592,593,594],"code",{},"agent\u002Finstrumentation.ts",". ",[592,597,598],{},"evlog\u002Feve"," adds a third layer: ",[583,601,602],{},"exportable wide events"," per turn with your full evlog pipeline (drains, enrichers, tail sampling, audit).",[605,606,608,610,611,614,615,617,618,621],"callout",{"color":607,"icon":13},"info",[592,609,598],{}," requires ",[583,612,613],{},"eve 0.30 or later",". eve is still in beta and stream event shapes may change before GA, so pin ",[592,616,440],{}," and ",[592,619,620],{},"evlog"," versions in production agents.",[623,624,627,630,655],"prompt",{":actions":625,"description":626,"icon":443},"[\"copy\",\"cursor\",\"claude\"]","Add evlog wide events to my eve agent",[573,628,629],{},"Add evlog wide events to my eve agent.",[631,632,633,637,640,643,646,649,652],"ul",{},[634,635,636],"li",{},"Install evlog: pnpm add evlog",[634,638,639],{},"Create agent\u002Fhooks\u002Fevlog.ts with defineEvlogHook from 'evlog\u002Feve'",[634,641,642],{},"Pass drain, enrich, and keep options (same as HTTP middleware integrations)",[634,644,645],{},"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",[634,647,648],{},"User message content is omitted by default (message: 'omit'); use 'preview' or 'full' only after reviewing PII policy",[634,650,651],{},"Optionally add agent\u002Finstrumentation.ts with defineEvlogInstrumentation from 'evlog\u002Feve' to join OTel spans to the wide events",[634,653,654],{},"Keep eve Agent Runs. evlog\u002Feve is additive",[573,656,657,658,662,663],{},"Docs: ",[576,659,660],{"href":660,"rel":661},"https:\u002F\u002Fwww.evlog.dev\u002Fuse-cases\u002Feve",[580],"\nAdapters: ",[576,664,665],{"href":665,"rel":666},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Foverview",[580],[668,669,671],"h2",{"id":670},"when-to-use-what","When to use what",[673,674,675,688],"table",{},[676,677,678],"thead",{},[679,680,681,685],"tr",{},[682,683,684],"th",{},"Need",[682,686,687],{},"Use",[689,690,691,703,715,726],"tbody",{},[679,692,693,697],{},[694,695,696],"td",{},"Debug a session in Vercel",[694,698,699,700,702],{},"eve ",[583,701,585],{}," (automatic)",[679,704,705,708],{},[694,706,707],{},"Span-level traces in Datadog \u002F Honeycomb",[694,709,699,710,714],{},[583,711,712],{},[592,713,594],{}," + OTel exporter",[679,716,717,720],{},[694,718,719],{},"Wide events to Axiom \u002F Better Stack \u002F FS, billing, audit, tail sampling",[694,721,722],{},[583,723,724],{},[592,725,598],{},[679,727,728,731],{},[694,729,730],{},"Jumping from a span to its wide event, and back",[694,732,733,738,739],{},[583,734,735],{},[592,736,737],{},"defineEvlogInstrumentation()"," — ",[576,740,742],{"href":741},"#correlate-traces-with-wide-events","below",[668,744,25],{"id":745},"quick-start",[747,748,750],"h3",{"id":749},"_1-install","1. Install",[752,753,754,782,798,814],"code-group",{},[755,756,762],"pre",{"className":757,"code":758,"filename":759,"language":760,"meta":761,"style":761},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog eve\n","pnpm","bash","",[592,763,764],{"__ignoreMap":761},[765,766,769,772,776,779],"span",{"class":767,"line":768},"line",1,[765,770,759],{"class":771},"sBMFI",[765,773,775],{"class":774},"sfazB"," add",[765,777,778],{"class":774}," evlog",[765,780,781],{"class":774}," eve\n",[755,783,786],{"className":757,"code":784,"filename":785,"language":760,"meta":761,"style":761},"bun add evlog eve\n","bun",[592,787,788],{"__ignoreMap":761},[765,789,790,792,794,796],{"class":767,"line":768},[765,791,785],{"class":771},[765,793,775],{"class":774},[765,795,778],{"class":774},[765,797,781],{"class":774},[755,799,802],{"className":757,"code":800,"filename":801,"language":760,"meta":761,"style":761},"yarn add evlog eve\n","yarn",[592,803,804],{"__ignoreMap":761},[765,805,806,808,810,812],{"class":767,"line":768},[765,807,801],{"class":771},[765,809,775],{"class":774},[765,811,778],{"class":774},[765,813,781],{"class":774},[755,815,818],{"className":757,"code":816,"filename":817,"language":760,"meta":761,"style":761},"npm install evlog eve\n","npm",[592,819,820],{"__ignoreMap":761},[765,821,822,824,827,829],{"class":767,"line":768},[765,823,817],{"class":771},[765,825,826],{"class":774}," install",[765,828,778],{"class":774},[765,830,781],{"class":774},[747,832,834],{"id":833},"_2-add-the-hook","2. Add the hook",[573,836,837,838,841],{},"Create ",[592,839,840],{},"agent\u002Fhooks\u002Fevlog.ts",":",[755,843,847],{"className":844,"code":845,"filename":840,"language":846,"meta":761,"style":761},"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",[592,848,849,877,898,905,923,959,975,1000,1033,1039],{"__ignoreMap":761},[765,850,851,855,859,863,866,869,872,874],{"class":767,"line":768},[765,852,854],{"class":853},"s7zQu","import",[765,856,858],{"class":857},"sMK4o"," {",[765,860,862],{"class":861},"sTEyZ"," defineEvlogHook",[765,864,865],{"class":857}," }",[765,867,868],{"class":853}," from",[765,870,871],{"class":857}," '",[765,873,598],{"class":774},[765,875,876],{"class":857},"'\n",[765,878,880,882,884,887,889,891,893,896],{"class":767,"line":879},2,[765,881,854],{"class":853},[765,883,858],{"class":857},[765,885,886],{"class":861}," createAxiomDrain",[765,888,865],{"class":857},[765,890,868],{"class":853},[765,892,871],{"class":857},[765,894,895],{"class":774},"evlog\u002Faxiom",[765,897,876],{"class":857},[765,899,901],{"class":767,"line":900},3,[765,902,904],{"emptyLinePlaceholder":903},true,"\n",[765,906,908,911,914,917,920],{"class":767,"line":907},4,[765,909,910],{"class":853},"export",[765,912,913],{"class":853}," default",[765,915,862],{"class":916},"s2Zo4",[765,918,919],{"class":861},"(",[765,921,922],{"class":857},"{\n",[765,924,926,930,932,934,937,939,941,944,946,948,951,954,956],{"class":767,"line":925},5,[765,927,929],{"class":928},"swJcz","  init",[765,931,841],{"class":857},[765,933,858],{"class":857},[765,935,936],{"class":928}," env",[765,938,841],{"class":857},[765,940,858],{"class":857},[765,942,943],{"class":928}," service",[765,945,841],{"class":857},[765,947,871],{"class":857},[765,949,950],{"class":774},"my-agent",[765,952,953],{"class":857},"'",[765,955,865],{"class":857},[765,957,958],{"class":857}," },\n",[765,960,962,965,967,969,972],{"class":767,"line":961},6,[765,963,964],{"class":928},"  drain",[765,966,841],{"class":857},[765,968,886],{"class":916},[765,970,971],{"class":861},"()",[765,973,974],{"class":857},",\n",[765,976,978,981,983,986,990,993,997],{"class":767,"line":977},7,[765,979,980],{"class":916},"  enrich",[765,982,841],{"class":857},[765,984,985],{"class":857}," (",[765,987,989],{"class":988},"sHdIc","ctx",[765,991,992],{"class":857},")",[765,994,996],{"class":995},"spNyl"," =>",[765,998,999],{"class":857}," {\n",[765,1001,1003,1006,1009,1012,1014,1017,1020,1023,1025,1028,1030],{"class":767,"line":1002},8,[765,1004,1005],{"class":861},"    ctx",[765,1007,1008],{"class":857},".",[765,1010,1011],{"class":861},"event",[765,1013,1008],{"class":857},[765,1015,1016],{"class":861},"region",[765,1018,1019],{"class":857}," =",[765,1021,1022],{"class":861}," process",[765,1024,1008],{"class":857},[765,1026,1027],{"class":861},"env",[765,1029,1008],{"class":857},[765,1031,1032],{"class":861},"VERCEL_REGION\n",[765,1034,1036],{"class":767,"line":1035},9,[765,1037,1038],{"class":857},"  },\n",[765,1040,1042,1045],{"class":767,"line":1041},10,[765,1043,1044],{"class":857},"}",[765,1046,1047],{"class":861},")\n",[573,1049,1050,1051,1054,1055,1058],{},"eve auto-discovers hook files under ",[592,1052,1053],{},"agent\u002Fhooks\u002F",". No HTTP middleware, because the unit of work is an agent ",[583,1056,1057],{},"turn",", not a request.",[747,1060,1062],{"id":1061},"_3-log-business-context-from-tools","3. Log business context from tools",[573,1064,1065,1068,1069,1072,1073,1076,1077,1080,1081,1084,1085,1088],{},[592,1066,1067],{},"defineEvlogHook()"," binds the turn logger via ",[583,1070,1071],{},"AsyncLocalStorage"," on ",[592,1074,1075],{},"turn.started",". Inside tool ",[592,1078,1079],{},"execute()"," handlers, call ",[592,1082,1083],{},"useLogger()"," with no arguments, the same ergonomics as ",[592,1086,1087],{},"useLogger(event)"," in Nuxt or Hono.",[573,1090,1091,1092,1097],{},"In the ",[576,1093,1096],{"href":1094,"rel":1095},"https:\u002F\u002Fgithub.com\u002Fevloghq\u002Fevlog\u002Ftree\u002Fmain\u002Fexamples\u002Feve",[580],"example agent",", support tools attach customer and order context as the agent works a refund:",[755,1099,1102],{"className":844,"code":1100,"filename":1101,"language":846,"meta":761,"style":761},"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",[592,1103,1104,1124,1143,1163,1167,1179,1195,1235,1253,1276,1290,1358,1367,1372],{"__ignoreMap":761},[765,1105,1106,1108,1110,1113,1115,1117,1119,1122],{"class":767,"line":768},[765,1107,854],{"class":853},[765,1109,858],{"class":857},[765,1111,1112],{"class":861}," defineTool",[765,1114,865],{"class":857},[765,1116,868],{"class":853},[765,1118,871],{"class":857},[765,1120,1121],{"class":774},"eve\u002Ftools",[765,1123,876],{"class":857},[765,1125,1126,1128,1130,1133,1135,1137,1139,1141],{"class":767,"line":879},[765,1127,854],{"class":853},[765,1129,858],{"class":857},[765,1131,1132],{"class":861}," useLogger",[765,1134,865],{"class":857},[765,1136,868],{"class":853},[765,1138,871],{"class":857},[765,1140,598],{"class":774},[765,1142,876],{"class":857},[765,1144,1145,1147,1149,1152,1154,1156,1158,1161],{"class":767,"line":900},[765,1146,854],{"class":853},[765,1148,858],{"class":857},[765,1150,1151],{"class":861}," z",[765,1153,865],{"class":857},[765,1155,868],{"class":853},[765,1157,871],{"class":857},[765,1159,1160],{"class":774},"zod",[765,1162,876],{"class":857},[765,1164,1165],{"class":767,"line":907},[765,1166,904],{"emptyLinePlaceholder":903},[765,1168,1169,1171,1173,1175,1177],{"class":767,"line":925},[765,1170,910],{"class":853},[765,1172,913],{"class":853},[765,1174,1112],{"class":916},[765,1176,919],{"class":861},[765,1178,922],{"class":857},[765,1180,1181,1184,1186,1188,1191,1193],{"class":767,"line":961},[765,1182,1183],{"class":928},"  description",[765,1185,841],{"class":857},[765,1187,871],{"class":857},[765,1189,1190],{"class":774},"Look up an order by id.",[765,1192,953],{"class":857},[765,1194,974],{"class":857},[765,1196,1197,1200,1202,1204,1206,1209,1211,1214,1217,1219,1221,1223,1226,1229,1231,1233],{"class":767,"line":977},[765,1198,1199],{"class":928},"  inputSchema",[765,1201,841],{"class":857},[765,1203,1151],{"class":861},[765,1205,1008],{"class":857},[765,1207,1208],{"class":916},"object",[765,1210,919],{"class":861},[765,1212,1213],{"class":857},"{",[765,1215,1216],{"class":928}," orderId",[765,1218,841],{"class":857},[765,1220,1151],{"class":861},[765,1222,1008],{"class":857},[765,1224,1225],{"class":916},"string",[765,1227,1228],{"class":861},"() ",[765,1230,1044],{"class":857},[765,1232,992],{"class":861},[765,1234,974],{"class":857},[765,1236,1237,1240,1243,1246,1248,1251],{"class":767,"line":1002},[765,1238,1239],{"class":995},"  async",[765,1241,1242],{"class":928}," execute",[765,1244,1245],{"class":857},"({",[765,1247,1216],{"class":988},[765,1249,1250],{"class":857}," })",[765,1252,999],{"class":857},[765,1254,1255,1258,1261,1263,1266,1269,1271,1274],{"class":767,"line":1035},[765,1256,1257],{"class":995},"    const",[765,1259,1260],{"class":861}," order",[765,1262,1019],{"class":857},[765,1264,1265],{"class":853}," await",[765,1267,1268],{"class":916}," fetchOrder",[765,1270,919],{"class":928},[765,1272,1273],{"class":861},"orderId",[765,1275,1047],{"class":928},[765,1277,1278,1280,1283,1285,1287],{"class":767,"line":1041},[765,1279,1257],{"class":995},[765,1281,1282],{"class":861}," log",[765,1284,1019],{"class":857},[765,1286,1132],{"class":916},[765,1288,1289],{"class":928},"()\n",[765,1291,1293,1296,1298,1301,1303,1305,1307,1309,1311,1314,1316,1318,1320,1323,1326,1329,1331,1333,1335,1338,1340,1343,1345,1347,1349,1352,1354,1356],{"class":767,"line":1292},11,[765,1294,1295],{"class":861},"    log",[765,1297,1008],{"class":857},[765,1299,1300],{"class":916},"set",[765,1302,919],{"class":928},[765,1304,1213],{"class":857},[765,1306,1260],{"class":928},[765,1308,841],{"class":857},[765,1310,858],{"class":857},[765,1312,1313],{"class":928}," id",[765,1315,841],{"class":857},[765,1317,1260],{"class":861},[765,1319,1008],{"class":857},[765,1321,1322],{"class":861},"id",[765,1324,1325],{"class":857},",",[765,1327,1328],{"class":928}," amount",[765,1330,841],{"class":857},[765,1332,1260],{"class":861},[765,1334,1008],{"class":857},[765,1336,1337],{"class":861},"amount",[765,1339,1325],{"class":857},[765,1341,1342],{"class":928}," status",[765,1344,841],{"class":857},[765,1346,1260],{"class":861},[765,1348,1008],{"class":857},[765,1350,1351],{"class":861},"status",[765,1353,865],{"class":857},[765,1355,865],{"class":857},[765,1357,1047],{"class":928},[765,1359,1361,1364],{"class":767,"line":1360},12,[765,1362,1363],{"class":853},"    return",[765,1365,1366],{"class":861}," order\n",[765,1368,1370],{"class":767,"line":1369},13,[765,1371,1038],{"class":857},[765,1373,1375,1377],{"class":767,"line":1374},14,[765,1376,1044],{"class":857},[765,1378,1047],{"class":861},[605,1380,1382,1397],{"color":1381,"icon":141},"neutral",[573,1383,1384,1387,1388,738,1390,1393,1394,1396],{},[583,1385,1386],{},"Resolution:"," pass the eve tool ",[592,1389,989],{},[592,1391,1392],{},"useLogger(ctx)"," — when AsyncLocalStorage does not propagate, such as separate hook and tool bundles. With a standard eve agent layout and ",[592,1395,840],{}," registered, you should not need it.",[573,1398,1399,1401],{},[592,1400,1083],{}," never throws: when it cannot reach the turn's logger it warns once and returns a logger that accepts every call and emits nothing. A turn resumed in another process after a step boundary is the common case, and losing enrichment must never fail the tool that was being enriched. The turn keeps running; only its extra fields are dropped.",[747,1403,1405],{"id":1404},"_4-nextjs-web-chat-optional","4. Next.js web chat (optional)",[573,1407,1408,1409,1412,1413,1416,1417,1420,1421,1416,1424,1427,1428,1431,1432,1435,1436,1439,1440,1008],{},"Wrap ",[592,1410,1411],{},"next.config.ts"," with ",[592,1414,1415],{},"withEve()"," from ",[592,1418,1419],{},"eve\u002Fnext"," and use ",[592,1422,1423],{},"useEveAgent()",[592,1425,1426],{},"eve\u002Freact"," in your app. eve starts alongside ",[592,1429,1430],{},"next dev"," and proxies ",[592,1433,1434],{},"\u002Feve\u002Fv1\u002F*"," on the same origin, so tool calls, approvals, and ",[592,1437,1438],{},"ask_question"," work out of the box. See the ",[576,1441,1096],{"href":1094,"rel":1442},[580],[668,1444,1446],{"id":1445},"wide-event-shape","Wide event shape",[573,1448,1449],{},"Each completed turn emits one event:",[755,1451,1456],{"className":1452,"code":1453,"filename":1454,"language":1455,"meta":761,"style":761},"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    \"model\": \"deepseek\u002Fdeepseek-v4-flash\",\n    \"provider\": \"deepseek\",\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, \"inputTokens\": 8900 },\n      { \"name\": \"lookup_order\", \"durationMs\": 13, \"success\": true }\n    ]\n  }\n}\n","Wide Event — turn awaiting approval","json",[592,1457,1458,1462,1485,1505,1521,1541,1557,1577,1589,1610,1630,1646,1666,1680,1684,1734,1796,1845,1859,1880,1901,1918,1934,1951,1968,1989,2004,2066,2115,2121,2127],{"__ignoreMap":761},[765,1459,1460],{"class":767,"line":768},[765,1461,922],{"class":857},[765,1463,1464,1467,1470,1473,1475,1478,1481,1483],{"class":767,"line":879},[765,1465,1466],{"class":857},"  \"",[765,1468,1469],{"class":995},"method",[765,1471,1472],{"class":857},"\"",[765,1474,841],{"class":857},[765,1476,1477],{"class":857}," \"",[765,1479,1480],{"class":774},"EVE",[765,1482,1472],{"class":857},[765,1484,974],{"class":857},[765,1486,1487,1489,1492,1494,1496,1498,1501,1503],{"class":767,"line":900},[765,1488,1466],{"class":857},[765,1490,1491],{"class":995},"path",[765,1493,1472],{"class":857},[765,1495,841],{"class":857},[765,1497,1477],{"class":857},[765,1499,1500],{"class":774},"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_0",[765,1502,1472],{"class":857},[765,1504,974],{"class":857},[765,1506,1507,1509,1511,1513,1515,1519],{"class":767,"line":907},[765,1508,1466],{"class":857},[765,1510,1351],{"class":995},[765,1512,1472],{"class":857},[765,1514,841],{"class":857},[765,1516,1518],{"class":1517},"sbssI"," 200",[765,1520,974],{"class":857},[765,1522,1523,1525,1528,1530,1532,1534,1537,1539],{"class":767,"line":925},[765,1524,1466],{"class":857},[765,1526,1527],{"class":995},"duration",[765,1529,1472],{"class":857},[765,1531,841],{"class":857},[765,1533,1477],{"class":857},[765,1535,1536],{"class":774},"7.9s",[765,1538,1472],{"class":857},[765,1540,974],{"class":857},[765,1542,1543,1545,1548,1550,1552,1555],{"class":767,"line":961},[765,1544,1466],{"class":857},[765,1546,1547],{"class":995},"durationMs",[765,1549,1472],{"class":857},[765,1551,841],{"class":857},[765,1553,1554],{"class":1517}," 7903",[765,1556,974],{"class":857},[765,1558,1559,1561,1564,1566,1568,1570,1573,1575],{"class":767,"line":977},[765,1560,1466],{"class":857},[765,1562,1563],{"class":995},"service",[765,1565,1472],{"class":857},[765,1567,841],{"class":857},[765,1569,1477],{"class":857},[765,1571,1572],{"class":774},"clearbill-support-agent",[765,1574,1472],{"class":857},[765,1576,974],{"class":857},[765,1578,1579,1581,1583,1585,1587],{"class":767,"line":1002},[765,1580,1466],{"class":857},[765,1582,440],{"class":995},[765,1584,1472],{"class":857},[765,1586,841],{"class":857},[765,1588,999],{"class":857},[765,1590,1591,1594,1597,1599,1601,1603,1606,1608],{"class":767,"line":1035},[765,1592,1593],{"class":857},"    \"",[765,1595,1596],{"class":771},"sessionId",[765,1598,1472],{"class":857},[765,1600,841],{"class":857},[765,1602,1477],{"class":857},[765,1604,1605],{"class":774},"sess_abc",[765,1607,1472],{"class":857},[765,1609,974],{"class":857},[765,1611,1612,1614,1617,1619,1621,1623,1626,1628],{"class":767,"line":1041},[765,1613,1593],{"class":857},[765,1615,1616],{"class":771},"turnId",[765,1618,1472],{"class":857},[765,1620,841],{"class":857},[765,1622,1477],{"class":857},[765,1624,1625],{"class":774},"turn_0",[765,1627,1472],{"class":857},[765,1629,974],{"class":857},[765,1631,1632,1634,1637,1639,1641,1644],{"class":767,"line":1292},[765,1633,1593],{"class":857},[765,1635,1636],{"class":771},"turnSequence",[765,1638,1472],{"class":857},[765,1640,841],{"class":857},[765,1642,1643],{"class":1517}," 0",[765,1645,974],{"class":857},[765,1647,1648,1650,1653,1655,1657,1659,1662,1664],{"class":767,"line":1360},[765,1649,1593],{"class":857},[765,1651,1652],{"class":771},"phase",[765,1654,1472],{"class":857},[765,1656,841],{"class":857},[765,1658,1477],{"class":857},[765,1660,1661],{"class":774},"awaiting-approval",[765,1663,1472],{"class":857},[765,1665,974],{"class":857},[765,1667,1668,1670,1673,1675,1677],{"class":767,"line":1369},[765,1669,1593],{"class":857},[765,1671,1672],{"class":771},"sessionTurns",[765,1674,1472],{"class":857},[765,1676,841],{"class":857},[765,1678,1679],{"class":1517}," 1\n",[765,1681,1682],{"class":767,"line":1374},[765,1683,1038],{"class":857},[765,1685,1687,1689,1692,1694,1696,1698,1700,1703,1705,1707,1709,1712,1714,1716,1718,1721,1723,1725,1727,1730,1732],{"class":767,"line":1686},15,[765,1688,1466],{"class":857},[765,1690,1691],{"class":995},"customer",[765,1693,1472],{"class":857},[765,1695,841],{"class":857},[765,1697,858],{"class":857},[765,1699,1477],{"class":857},[765,1701,1702],{"class":771},"slug",[765,1704,1472],{"class":857},[765,1706,841],{"class":857},[765,1708,1477],{"class":857},[765,1710,1711],{"class":774},"acme-corp",[765,1713,1472],{"class":857},[765,1715,1325],{"class":857},[765,1717,1477],{"class":857},[765,1719,1720],{"class":771},"plan",[765,1722,1472],{"class":857},[765,1724,841],{"class":857},[765,1726,1477],{"class":857},[765,1728,1729],{"class":774},"enterprise",[765,1731,1472],{"class":857},[765,1733,958],{"class":857},[765,1735,1737,1739,1742,1744,1746,1748,1750,1752,1754,1756,1758,1761,1763,1765,1767,1769,1771,1773,1776,1778,1780,1783,1785,1787,1789,1792,1794],{"class":767,"line":1736},16,[765,1738,1466],{"class":857},[765,1740,1741],{"class":995},"order",[765,1743,1472],{"class":857},[765,1745,841],{"class":857},[765,1747,858],{"class":857},[765,1749,1477],{"class":857},[765,1751,1322],{"class":771},[765,1753,1472],{"class":857},[765,1755,841],{"class":857},[765,1757,1477],{"class":857},[765,1759,1760],{"class":774},"4821",[765,1762,1472],{"class":857},[765,1764,1325],{"class":857},[765,1766,1477],{"class":857},[765,1768,1337],{"class":771},[765,1770,1472],{"class":857},[765,1772,841],{"class":857},[765,1774,1775],{"class":1517}," 890",[765,1777,1325],{"class":857},[765,1779,1477],{"class":857},[765,1781,1782],{"class":771},"currency",[765,1784,1472],{"class":857},[765,1786,841],{"class":857},[765,1788,1477],{"class":857},[765,1790,1791],{"class":774},"USD",[765,1793,1472],{"class":857},[765,1795,958],{"class":857},[765,1797,1799,1801,1804,1806,1808,1810,1812,1814,1816,1818,1820,1823,1825,1827,1829,1832,1834,1836,1838,1841,1843],{"class":767,"line":1798},17,[765,1800,1466],{"class":857},[765,1802,1803],{"class":995},"approval",[765,1805,1472],{"class":857},[765,1807,841],{"class":857},[765,1809,858],{"class":857},[765,1811,1477],{"class":857},[765,1813,1351],{"class":771},[765,1815,1472],{"class":857},[765,1817,841],{"class":857},[765,1819,1477],{"class":857},[765,1821,1822],{"class":774},"pending",[765,1824,1472],{"class":857},[765,1826,1325],{"class":857},[765,1828,1477],{"class":857},[765,1830,1831],{"class":771},"tool",[765,1833,1472],{"class":857},[765,1835,841],{"class":857},[765,1837,1477],{"class":857},[765,1839,1840],{"class":774},"issue_refund",[765,1842,1472],{"class":857},[765,1844,958],{"class":857},[765,1846,1848,1850,1853,1855,1857],{"class":767,"line":1847},18,[765,1849,1466],{"class":857},[765,1851,1852],{"class":995},"ai",[765,1854,1472],{"class":857},[765,1856,841],{"class":857},[765,1858,999],{"class":857},[765,1860,1862,1864,1867,1869,1871,1873,1876,1878],{"class":767,"line":1861},19,[765,1863,1593],{"class":857},[765,1865,1866],{"class":771},"model",[765,1868,1472],{"class":857},[765,1870,841],{"class":857},[765,1872,1477],{"class":857},[765,1874,1875],{"class":774},"deepseek\u002Fdeepseek-v4-flash",[765,1877,1472],{"class":857},[765,1879,974],{"class":857},[765,1881,1883,1885,1888,1890,1892,1894,1897,1899],{"class":767,"line":1882},20,[765,1884,1593],{"class":857},[765,1886,1887],{"class":771},"provider",[765,1889,1472],{"class":857},[765,1891,841],{"class":857},[765,1893,1477],{"class":857},[765,1895,1896],{"class":774},"deepseek",[765,1898,1472],{"class":857},[765,1900,974],{"class":857},[765,1902,1904,1906,1909,1911,1913,1916],{"class":767,"line":1903},21,[765,1905,1593],{"class":857},[765,1907,1908],{"class":771},"calls",[765,1910,1472],{"class":857},[765,1912,841],{"class":857},[765,1914,1915],{"class":1517}," 2",[765,1917,974],{"class":857},[765,1919,1921,1923,1926,1928,1930,1932],{"class":767,"line":1920},22,[765,1922,1593],{"class":857},[765,1924,1925],{"class":771},"steps",[765,1927,1472],{"class":857},[765,1929,841],{"class":857},[765,1931,1915],{"class":1517},[765,1933,974],{"class":857},[765,1935,1937,1939,1942,1944,1946,1949],{"class":767,"line":1936},23,[765,1938,1593],{"class":857},[765,1940,1941],{"class":771},"inputTokens",[765,1943,1472],{"class":857},[765,1945,841],{"class":857},[765,1947,1948],{"class":1517}," 11724",[765,1950,974],{"class":857},[765,1952,1954,1956,1959,1961,1963,1966],{"class":767,"line":1953},24,[765,1955,1593],{"class":857},[765,1957,1958],{"class":771},"outputTokens",[765,1960,1472],{"class":857},[765,1962,841],{"class":857},[765,1964,1965],{"class":1517}," 282",[765,1967,974],{"class":857},[765,1969,1971,1973,1976,1978,1980,1982,1985,1987],{"class":767,"line":1970},25,[765,1972,1593],{"class":857},[765,1974,1975],{"class":771},"finishReason",[765,1977,1472],{"class":857},[765,1979,841],{"class":857},[765,1981,1477],{"class":857},[765,1983,1984],{"class":774},"tool-calls",[765,1986,1472],{"class":857},[765,1988,974],{"class":857},[765,1990,1992,1994,1997,1999,2001],{"class":767,"line":1991},26,[765,1993,1593],{"class":857},[765,1995,1996],{"class":771},"tools",[765,1998,1472],{"class":857},[765,2000,841],{"class":857},[765,2002,2003],{"class":857}," [\n",[765,2005,2007,2010,2012,2015,2017,2019,2021,2024,2026,2028,2030,2032,2034,2036,2039,2041,2043,2046,2048,2050,2053,2055,2057,2059,2061,2064],{"class":767,"line":2006},27,[765,2008,2009],{"class":857},"      {",[765,2011,1477],{"class":857},[765,2013,2014],{"class":1517},"name",[765,2016,1472],{"class":857},[765,2018,841],{"class":857},[765,2020,1477],{"class":857},[765,2022,2023],{"class":774},"lookup_customer",[765,2025,1472],{"class":857},[765,2027,1325],{"class":857},[765,2029,1477],{"class":857},[765,2031,1547],{"class":1517},[765,2033,1472],{"class":857},[765,2035,841],{"class":857},[765,2037,2038],{"class":1517}," 26",[765,2040,1325],{"class":857},[765,2042,1477],{"class":857},[765,2044,2045],{"class":1517},"success",[765,2047,1472],{"class":857},[765,2049,841],{"class":857},[765,2051,2052],{"class":857}," true,",[765,2054,1477],{"class":857},[765,2056,1941],{"class":1517},[765,2058,1472],{"class":857},[765,2060,841],{"class":857},[765,2062,2063],{"class":1517}," 8900",[765,2065,958],{"class":857},[765,2067,2069,2071,2073,2075,2077,2079,2081,2084,2086,2088,2090,2092,2094,2096,2099,2101,2103,2105,2107,2109,2112],{"class":767,"line":2068},28,[765,2070,2009],{"class":857},[765,2072,1477],{"class":857},[765,2074,2014],{"class":1517},[765,2076,1472],{"class":857},[765,2078,841],{"class":857},[765,2080,1477],{"class":857},[765,2082,2083],{"class":774},"lookup_order",[765,2085,1472],{"class":857},[765,2087,1325],{"class":857},[765,2089,1477],{"class":857},[765,2091,1547],{"class":1517},[765,2093,1472],{"class":857},[765,2095,841],{"class":857},[765,2097,2098],{"class":1517}," 13",[765,2100,1325],{"class":857},[765,2102,1477],{"class":857},[765,2104,2045],{"class":1517},[765,2106,1472],{"class":857},[765,2108,841],{"class":857},[765,2110,2111],{"class":857}," true",[765,2113,2114],{"class":857}," }\n",[765,2116,2118],{"class":767,"line":2117},29,[765,2119,2120],{"class":857},"    ]\n",[765,2122,2124],{"class":767,"line":2123},30,[765,2125,2126],{"class":857},"  }\n",[765,2128,2130],{"class":767,"line":2129},31,[765,2131,2132],{"class":857},"}\n",[573,2134,2135],{},"After approval, the next turn carries the outcome:",[755,2137,2140],{"className":1452,"code":2138,"filename":2139,"language":1455,"meta":761,"style":761},"{\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",[592,2141,2142,2146,2165,2177,2195,2214,2229,2242,2246,2304,2381,2426,2438,2493,2511,2515],{"__ignoreMap":761},[765,2143,2144],{"class":767,"line":768},[765,2145,922],{"class":857},[765,2147,2148,2150,2152,2154,2156,2158,2161,2163],{"class":767,"line":879},[765,2149,1466],{"class":857},[765,2151,1491],{"class":995},[765,2153,1472],{"class":857},[765,2155,841],{"class":857},[765,2157,1477],{"class":857},[765,2159,2160],{"class":774},"\u002Fsessions\u002Fsess_abc\u002Fturns\u002Fturn_1",[765,2162,1472],{"class":857},[765,2164,974],{"class":857},[765,2166,2167,2169,2171,2173,2175],{"class":767,"line":900},[765,2168,1466],{"class":857},[765,2170,440],{"class":995},[765,2172,1472],{"class":857},[765,2174,841],{"class":857},[765,2176,999],{"class":857},[765,2178,2179,2181,2183,2185,2187,2189,2191,2193],{"class":767,"line":907},[765,2180,1593],{"class":857},[765,2182,1596],{"class":771},[765,2184,1472],{"class":857},[765,2186,841],{"class":857},[765,2188,1477],{"class":857},[765,2190,1605],{"class":774},[765,2192,1472],{"class":857},[765,2194,974],{"class":857},[765,2196,2197,2199,2201,2203,2205,2207,2210,2212],{"class":767,"line":925},[765,2198,1593],{"class":857},[765,2200,1616],{"class":771},[765,2202,1472],{"class":857},[765,2204,841],{"class":857},[765,2206,1477],{"class":857},[765,2208,2209],{"class":774},"turn_1",[765,2211,1472],{"class":857},[765,2213,974],{"class":857},[765,2215,2216,2218,2220,2222,2224,2227],{"class":767,"line":961},[765,2217,1593],{"class":857},[765,2219,1636],{"class":771},[765,2221,1472],{"class":857},[765,2223,841],{"class":857},[765,2225,2226],{"class":1517}," 1",[765,2228,974],{"class":857},[765,2230,2231,2233,2235,2237,2239],{"class":767,"line":977},[765,2232,1593],{"class":857},[765,2234,1672],{"class":771},[765,2236,1472],{"class":857},[765,2238,841],{"class":857},[765,2240,2241],{"class":1517}," 2\n",[765,2243,2244],{"class":767,"line":1002},[765,2245,1038],{"class":857},[765,2247,2248,2250,2253,2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291,2293,2295,2297,2300,2302],{"class":767,"line":1035},[765,2249,1466],{"class":857},[765,2251,2252],{"class":995},"refund",[765,2254,1472],{"class":857},[765,2256,841],{"class":857},[765,2258,858],{"class":857},[765,2260,1477],{"class":857},[765,2262,1273],{"class":771},[765,2264,1472],{"class":857},[765,2266,841],{"class":857},[765,2268,1477],{"class":857},[765,2270,1760],{"class":774},[765,2272,1472],{"class":857},[765,2274,1325],{"class":857},[765,2276,1477],{"class":857},[765,2278,1337],{"class":771},[765,2280,1472],{"class":857},[765,2282,841],{"class":857},[765,2284,1775],{"class":1517},[765,2286,1325],{"class":857},[765,2288,1477],{"class":857},[765,2290,1351],{"class":771},[765,2292,1472],{"class":857},[765,2294,841],{"class":857},[765,2296,1477],{"class":857},[765,2298,2299],{"class":774},"refunded",[765,2301,1472],{"class":857},[765,2303,958],{"class":857},[765,2305,2306,2308,2311,2313,2315,2317,2319,2322,2324,2326,2328,2331,2333,2335,2337,2340,2342,2344,2346,2348,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373,2375,2377,2379],{"class":767,"line":1041},[765,2307,1466],{"class":857},[765,2309,2310],{"class":995},"audit",[765,2312,1472],{"class":857},[765,2314,841],{"class":857},[765,2316,858],{"class":857},[765,2318,1477],{"class":857},[765,2320,2321],{"class":771},"action",[765,2323,1472],{"class":857},[765,2325,841],{"class":857},[765,2327,1477],{"class":857},[765,2329,2330],{"class":774},"refund.issued",[765,2332,1472],{"class":857},[765,2334,1325],{"class":857},[765,2336,1477],{"class":857},[765,2338,2339],{"class":771},"target",[765,2341,1472],{"class":857},[765,2343,841],{"class":857},[765,2345,858],{"class":857},[765,2347,1477],{"class":857},[765,2349,2350],{"class":1517},"type",[765,2352,1472],{"class":857},[765,2354,841],{"class":857},[765,2356,1477],{"class":857},[765,2358,1741],{"class":774},[765,2360,1472],{"class":857},[765,2362,1325],{"class":857},[765,2364,1477],{"class":857},[765,2366,1322],{"class":1517},[765,2368,1472],{"class":857},[765,2370,841],{"class":857},[765,2372,1477],{"class":857},[765,2374,1760],{"class":774},[765,2376,1472],{"class":857},[765,2378,865],{"class":857},[765,2380,958],{"class":857},[765,2382,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424],{"class":767,"line":1292},[765,2384,1466],{"class":857},[765,2386,1803],{"class":995},[765,2388,1472],{"class":857},[765,2390,841],{"class":857},[765,2392,858],{"class":857},[765,2394,1477],{"class":857},[765,2396,1351],{"class":771},[765,2398,1472],{"class":857},[765,2400,841],{"class":857},[765,2402,1477],{"class":857},[765,2404,2405],{"class":774},"approved",[765,2407,1472],{"class":857},[765,2409,1325],{"class":857},[765,2411,1477],{"class":857},[765,2413,1831],{"class":771},[765,2415,1472],{"class":857},[765,2417,841],{"class":857},[765,2419,1477],{"class":857},[765,2421,1840],{"class":774},[765,2423,1472],{"class":857},[765,2425,958],{"class":857},[765,2427,2428,2430,2432,2434,2436],{"class":767,"line":1360},[765,2429,1466],{"class":857},[765,2431,1852],{"class":995},[765,2433,1472],{"class":857},[765,2435,841],{"class":857},[765,2437,999],{"class":857},[765,2439,2440,2442,2444,2446,2448,2451,2453,2455,2457,2459,2461,2463,2465,2467,2469,2471,2473,2475,2478,2480,2482,2484,2486,2488,2490],{"class":767,"line":1369},[765,2441,1593],{"class":857},[765,2443,1996],{"class":771},[765,2445,1472],{"class":857},[765,2447,841],{"class":857},[765,2449,2450],{"class":857}," [{",[765,2452,1477],{"class":857},[765,2454,2014],{"class":1517},[765,2456,1472],{"class":857},[765,2458,841],{"class":857},[765,2460,1477],{"class":857},[765,2462,1840],{"class":774},[765,2464,1472],{"class":857},[765,2466,1325],{"class":857},[765,2468,1477],{"class":857},[765,2470,1547],{"class":1517},[765,2472,1472],{"class":857},[765,2474,841],{"class":857},[765,2476,2477],{"class":1517}," 993",[765,2479,1325],{"class":857},[765,2481,1477],{"class":857},[765,2483,2045],{"class":1517},[765,2485,1472],{"class":857},[765,2487,841],{"class":857},[765,2489,2111],{"class":857},[765,2491,2492],{"class":857}," }],\n",[765,2494,2495,2497,2499,2501,2503,2505,2508],{"class":767,"line":1374},[765,2496,1593],{"class":857},[765,2498,1975],{"class":771},[765,2500,1472],{"class":857},[765,2502,841],{"class":857},[765,2504,1477],{"class":857},[765,2506,2507],{"class":774},"stop",[765,2509,2510],{"class":857},"\"\n",[765,2512,2513],{"class":767,"line":1686},[765,2514,2126],{"class":857},[765,2516,2517],{"class":767,"line":1736},[765,2518,2132],{"class":857},[573,2520,2521,2522,2525,2526,2525,2529,2532,2533,2535,2536,2539,2540,2543,2544,2547,2548,2525,2550,2525,2553,2525,2556,2525,2559,1008],{},"Token usage and tool executions are accumulated from eve stream events (",[592,2523,2524],{},"step.completed",", ",[592,2527,2528],{},"actions.requested",[592,2530,2531],{},"action.result","). Business fields set via ",[592,2534,1083],{}," carry across turns in the same session. Link turns in analytics with ",[592,2537,2538],{},"eve.sessionId"," + ",[592,2541,2542],{},"eve.turnSequence",", and each event stays self-contained. ",[592,2545,2546],{},"eve.phase"," is only set for non-routine endings: ",[592,2549,1661],{},[592,2551,2552],{},"awaiting-authorization",[592,2554,2555],{},"rejected",[592,2557,2558],{},"cancelled",[592,2560,2561],{},"failed",[747,2563,2565],{"id":2564},"everything-the-turn-can-report","Everything the turn can report",[573,2567,2568],{},"Beyond the identifiers above, a turn records what eve reports about it. Every field is optional and appears only when the turn produced it.",[673,2570,2571,2581],{},[676,2572,2573],{},[679,2574,2575,2578],{},[682,2576,2577],{},"Field",[682,2579,2580],{},"What it tells you",[689,2582,2583,2603,2630,2643,2660,2674,2687,2697,2713,2723,2733,2747,2764,2789],{},[679,2584,2585,2590],{},[694,2586,2587],{},[592,2588,2589],{},"eve.runtime",[694,2591,2592,2593,2596,2597,2596,2600],{},"eve version, agent id, model, and the deployed ",[592,2594,2595],{},"gitSha"," \u002F ",[592,2598,2599],{},"gitBranch",[592,2601,2602],{},"deployedAt",[679,2604,2605,2610],{},[694,2606,2607],{},[592,2608,2609],{},"eve.caller",[694,2611,2612,2613,2525,2616,617,2619,2622,2623,617,2626,2629],{},"Who triggered the turn: ",[592,2614,2615],{},"principalId",[592,2617,2618],{},"principalType",[592,2620,2621],{},"authenticator",". On a multi-user channel this is what you group cost and volume by. ",[592,2624,2625],{},"subject",[592,2627,2628],{},"attributes"," are never recorded — a channel may put a name or an email in them",[679,2631,2632,2637],{},[694,2633,2634],{},[592,2635,2636],{},"eve.parent",[694,2638,2639,2640],{},"Parent and root session ids for a subagent run — rebuild the delegation tree with ",[592,2641,2642],{},"rootSessionId",[679,2644,2645,2650],{},[694,2646,2647],{},[592,2648,2649],{},"eve.authorizations",[694,2651,2652,2653,2525,2656,2659],{},"Connection sign-ins with their ",[592,2654,2655],{},"outcome",[592,2657,2658],{},"reason"," and duration",[679,2661,2662,2667],{},[694,2663,2664],{},[592,2665,2666],{},"eve.compaction",[694,2668,2669,2670,2673],{},"How many compactions ran, on which model, and ",[592,2671,2672],{},"inputTokensAtTrigger"," — how full the context was when the first one fired",[679,2675,2676,2684],{},[694,2677,2678,2596,2681],{},[592,2679,2680],{},"eve.stepFailures",[592,2682,2683],{},"eve.failedSteps",[694,2685,2686],{},"Model calls that failed, including on a turn that then succeeded on retry",[679,2688,2689,2694],{},[694,2690,2691],{},[592,2692,2693],{},"eve.subagents",[694,2695,2696],{},"Delegations with their status and duration",[679,2698,2699,2704],{},[694,2700,2701],{},[592,2702,2703],{},"eve.reasoning",[694,2705,2706,617,2709,2712],{},[592,2707,2708],{},"blocks",[592,2710,2711],{},"chars"," — the size of the model's thinking, never its content",[679,2714,2715,2720],{},[694,2716,2717],{},[592,2718,2719],{},"eve.result",[694,2721,2722],{},"The structured result, for an agent with an output schema",[679,2724,2725,2730],{},[694,2726,2727],{},[592,2728,2729],{},"eve.contextCleared",[694,2731,2732],{},"The durable history was wiped during this turn",[679,2734,2735,2740],{},[694,2736,2737],{},[592,2738,2739],{},"message.responseChars",[694,2741,2742,2743,2746],{},"Length of the agent's response, recorded whatever the ",[592,2744,2745],{},"message"," mode",[679,2748,2749,2754],{},[694,2750,2751],{},[592,2752,2753],{},"ai.costUsd",[694,2755,2756,2757,2760,2761],{},"Cost as reported by eve. ",[592,2758,2759],{},"ai.estimatedCost"," is the fallback computed from ",[592,2762,2763],{},"cost",[679,2765,2766,2774],{},[694,2767,2768,2596,2771],{},[592,2769,2770],{},"ai.model",[592,2772,2773],{},"ai.provider",[694,2775,2776,2777,2779,2780,2782,2783,2785,2786],{},"The gateway slug (",[592,2778,1875],{},") and the resolved provider (",[592,2781,1896],{},") that served the turn. ",[592,2784,2773],{}," is split from the model id eve reports on ",[592,2787,2788],{},"session.started",[679,2790,2791,2796],{},[694,2792,2793],{},[592,2794,2795],{},"ai.tools[].inputTokens",[694,2797,2798],{},"The input tokens a tool result added to the next model call: the delta between the step that called the tool and the step that consumed its result. Parallel results in one step share the delta evenly; left unset when the turn ended before the result was consumed, or when a compaction reset the context",[668,2800,2802],{"id":2801},"correlate-traces-with-wide-events","Correlate traces with wide events",[573,2804,2805,2806,2808],{},"A wide event and an Agent Runs span describe the same turn, but nothing joins them on its own. ",[592,2807,737],{}," stamps evlog's turn identity onto eve's AI SDK spans:",[755,2810,2812],{"className":844,"code":2811,"filename":594,"language":846,"meta":761,"style":761},"import { defineEvlogInstrumentation } from 'evlog\u002Feve'\n\nexport default defineEvlogInstrumentation()\n",[592,2813,2814,2833,2837],{"__ignoreMap":761},[765,2815,2816,2818,2820,2823,2825,2827,2829,2831],{"class":767,"line":768},[765,2817,854],{"class":853},[765,2819,858],{"class":857},[765,2821,2822],{"class":861}," defineEvlogInstrumentation",[765,2824,865],{"class":857},[765,2826,868],{"class":853},[765,2828,871],{"class":857},[765,2830,598],{"class":774},[765,2832,876],{"class":857},[765,2834,2835],{"class":767,"line":879},[765,2836,904],{"emptyLinePlaceholder":903},[765,2838,2839,2841,2843,2845],{"class":767,"line":900},[765,2840,910],{"class":853},[765,2842,913],{"class":853},[765,2844,2822],{"class":916},[765,2846,1289],{"class":861},[573,2848,2849,2850,617,2853,2856,2857,617,2860,2862],{},"Every model-call span, and its children, then carries ",[592,2851,2852],{},"evlog.request_id",[592,2854,2855],{},"evlog.session_id",", the same values the wide event reports as ",[592,2858,2859],{},"requestId",[592,2861,2538],{},". Jump from a trace in Braintrust, Datadog or Agent Runs straight to the event in your drain, and back.",[573,2864,2865,2866,2869,2870,2873],{},"Without ",[592,2867,2868],{},"setup",", OpenTelemetry export is untouched: eve keeps writing its local traces, readable with ",[592,2871,2872],{},"eve traces",". Pass one to export elsewhere:",[755,2875,2877],{"className":844,"code":2876,"filename":594,"language":846,"meta":761,"style":761},"import { defineEvlogInstrumentation } from 'evlog\u002Feve'\nimport { registerOTel } from '@vercel\u002Fotel'\n\nexport default defineEvlogInstrumentation({\n  setup: ({ agentName }) => registerOTel({ serviceName: agentName }),\n})\n",[592,2878,2879,2897,2917,2921,2933,2970],{"__ignoreMap":761},[765,2880,2881,2883,2885,2887,2889,2891,2893,2895],{"class":767,"line":768},[765,2882,854],{"class":853},[765,2884,858],{"class":857},[765,2886,2822],{"class":861},[765,2888,865],{"class":857},[765,2890,868],{"class":853},[765,2892,871],{"class":857},[765,2894,598],{"class":774},[765,2896,876],{"class":857},[765,2898,2899,2901,2903,2906,2908,2910,2912,2915],{"class":767,"line":879},[765,2900,854],{"class":853},[765,2902,858],{"class":857},[765,2904,2905],{"class":861}," registerOTel",[765,2907,865],{"class":857},[765,2909,868],{"class":853},[765,2911,871],{"class":857},[765,2913,2914],{"class":774},"@vercel\u002Fotel",[765,2916,876],{"class":857},[765,2918,2919],{"class":767,"line":900},[765,2920,904],{"emptyLinePlaceholder":903},[765,2922,2923,2925,2927,2929,2931],{"class":767,"line":907},[765,2924,910],{"class":853},[765,2926,913],{"class":853},[765,2928,2822],{"class":916},[765,2930,919],{"class":861},[765,2932,922],{"class":857},[765,2934,2935,2938,2940,2943,2946,2948,2950,2952,2954,2956,2959,2961,2964,2966,2968],{"class":767,"line":925},[765,2936,2937],{"class":916},"  setup",[765,2939,841],{"class":857},[765,2941,2942],{"class":857}," ({",[765,2944,2945],{"class":988}," agentName",[765,2947,1250],{"class":857},[765,2949,996],{"class":995},[765,2951,2905],{"class":916},[765,2953,919],{"class":861},[765,2955,1213],{"class":857},[765,2957,2958],{"class":928}," serviceName",[765,2960,841],{"class":857},[765,2962,2963],{"class":861}," agentName ",[765,2965,1044],{"class":857},[765,2967,992],{"class":861},[765,2969,974],{"class":857},[765,2971,2972,2974],{"class":767,"line":961},[765,2973,1044],{"class":857},[765,2975,1047],{"class":861},[573,2977,2978,2525,2981,2525,2984,617,2987,2990,2991,1008],{},[592,2979,2980],{},"functionId",[592,2982,2983],{},"recordInputs",[592,2985,2986],{},"recordOutputs",[592,2988,2989],{},"traceChannelRequests"," pass straight through to eve's ",[592,2992,2993],{},"defineInstrumentation",[747,2995,2997],{"id":2996},"alongside-another-observability-backend","Alongside another observability backend",[573,2999,3000,3002,3003,3005,3006,3009,3010,3013],{},[592,3001,737],{}," is the shortcut for an agent whose instrumentation is evlog's alone. It owns the file, and an agent has exactly one ",[592,3004,594],{},", so every observability item in eve's registry writes that same path, which is why ",[592,3007,3008],{},"eve add instrumentation\u002Fsentry"," after ",[592,3011,3012],{},"eve add instrumentation\u002Fposthog"," refuses rather than clobbering the first.",[573,3015,3016,3017,3019,3020,3023],{},"Once another backend is in play, write the file yourself with eve's own ",[592,3018,2993],{}," and spread ",[592,3021,3022],{},"evlogRuntimeContext"," into your runtime context. evlog contributes attributes to your instrumentation instead of wrapping it:",[755,3025,3027],{"className":844,"code":3026,"filename":594,"language":846,"meta":761,"style":761},"import { BatchSpanProcessor, SimpleSpanProcessor } from '@opentelemetry\u002Fsdk-trace-base'\nimport { PostHogTraceExporter } from '@posthog\u002Fai\u002Fotel'\nimport { OTLPHttpProtoTraceExporter, registerOTel } from '@vercel\u002Fotel'\nimport { defineInstrumentation } from 'eve\u002Finstrumentation'\nimport { evlogRuntimeContext } from 'evlog\u002Feve'\n\nexport default defineInstrumentation({\n  \u002F\u002F One provider, one span processor per backend. Items that generate\n  \u002F\u002F `traceExporter` (Sentry, Datadog, Arize, Jaeger, Braintrust, Honeycomb)\n  \u002F\u002F become an entry in this array. Call registerOTel once, not once per backend.\n  setup: ({ agentName }) => registerOTel({\n    serviceName: agentName,\n    spanProcessors: [\n      new SimpleSpanProcessor(new PostHogTraceExporter({\n        projectToken: process.env.POSTHOG_PROJECT_TOKEN!,\n      })),\n      new BatchSpanProcessor(new OTLPHttpProtoTraceExporter({\n        url: process.env.SENTRY_OTLP_TRACES_ENDPOINT!,\n        headers: { 'x-sentry-auth': `sentry sentry_key=${process.env.SENTRY_PUBLIC_KEY}` },\n      })),\n    ],\n  }),\n  events: {\n    'step.started': (input) => {\n      const principalId = input.session.auth.initiator?.principalId\n        ?? input.session.auth.current?.principalId\n      return {\n        runtimeContext: {\n          ...evlogRuntimeContext(input),\n          \u002F\u002F Omitted rather than blank: an empty attribute reads as an empty id.\n          ...(principalId ? { posthog_distinct_id: principalId } : {}),\n        },\n      }\n    },\n  },\n})\n",[592,3028,3029,3054,3074,3097,3117,3136,3140,3152,3158,3163,3168,3188,3199,3208,3226,3247,3257,3273,3293,3337,3345,3352,3361,3370,3393,3427,3451,3458,3467,3482,3487,3519,3525,3531,3537,3542],{"__ignoreMap":761},[765,3030,3031,3033,3035,3038,3040,3043,3045,3047,3049,3052],{"class":767,"line":768},[765,3032,854],{"class":853},[765,3034,858],{"class":857},[765,3036,3037],{"class":861}," BatchSpanProcessor",[765,3039,1325],{"class":857},[765,3041,3042],{"class":861}," SimpleSpanProcessor",[765,3044,865],{"class":857},[765,3046,868],{"class":853},[765,3048,871],{"class":857},[765,3050,3051],{"class":774},"@opentelemetry\u002Fsdk-trace-base",[765,3053,876],{"class":857},[765,3055,3056,3058,3060,3063,3065,3067,3069,3072],{"class":767,"line":879},[765,3057,854],{"class":853},[765,3059,858],{"class":857},[765,3061,3062],{"class":861}," PostHogTraceExporter",[765,3064,865],{"class":857},[765,3066,868],{"class":853},[765,3068,871],{"class":857},[765,3070,3071],{"class":774},"@posthog\u002Fai\u002Fotel",[765,3073,876],{"class":857},[765,3075,3076,3078,3080,3083,3085,3087,3089,3091,3093,3095],{"class":767,"line":900},[765,3077,854],{"class":853},[765,3079,858],{"class":857},[765,3081,3082],{"class":861}," OTLPHttpProtoTraceExporter",[765,3084,1325],{"class":857},[765,3086,2905],{"class":861},[765,3088,865],{"class":857},[765,3090,868],{"class":853},[765,3092,871],{"class":857},[765,3094,2914],{"class":774},[765,3096,876],{"class":857},[765,3098,3099,3101,3103,3106,3108,3110,3112,3115],{"class":767,"line":907},[765,3100,854],{"class":853},[765,3102,858],{"class":857},[765,3104,3105],{"class":861}," defineInstrumentation",[765,3107,865],{"class":857},[765,3109,868],{"class":853},[765,3111,871],{"class":857},[765,3113,3114],{"class":774},"eve\u002Finstrumentation",[765,3116,876],{"class":857},[765,3118,3119,3121,3123,3126,3128,3130,3132,3134],{"class":767,"line":925},[765,3120,854],{"class":853},[765,3122,858],{"class":857},[765,3124,3125],{"class":861}," evlogRuntimeContext",[765,3127,865],{"class":857},[765,3129,868],{"class":853},[765,3131,871],{"class":857},[765,3133,598],{"class":774},[765,3135,876],{"class":857},[765,3137,3138],{"class":767,"line":961},[765,3139,904],{"emptyLinePlaceholder":903},[765,3141,3142,3144,3146,3148,3150],{"class":767,"line":977},[765,3143,910],{"class":853},[765,3145,913],{"class":853},[765,3147,3105],{"class":916},[765,3149,919],{"class":861},[765,3151,922],{"class":857},[765,3153,3154],{"class":767,"line":1002},[765,3155,3157],{"class":3156},"sHwdD","  \u002F\u002F One provider, one span processor per backend. Items that generate\n",[765,3159,3160],{"class":767,"line":1035},[765,3161,3162],{"class":3156},"  \u002F\u002F `traceExporter` (Sentry, Datadog, Arize, Jaeger, Braintrust, Honeycomb)\n",[765,3164,3165],{"class":767,"line":1041},[765,3166,3167],{"class":3156},"  \u002F\u002F become an entry in this array. Call registerOTel once, not once per backend.\n",[765,3169,3170,3172,3174,3176,3178,3180,3182,3184,3186],{"class":767,"line":1292},[765,3171,2937],{"class":916},[765,3173,841],{"class":857},[765,3175,2942],{"class":857},[765,3177,2945],{"class":988},[765,3179,1250],{"class":857},[765,3181,996],{"class":995},[765,3183,2905],{"class":916},[765,3185,919],{"class":861},[765,3187,922],{"class":857},[765,3189,3190,3193,3195,3197],{"class":767,"line":1360},[765,3191,3192],{"class":928},"    serviceName",[765,3194,841],{"class":857},[765,3196,2945],{"class":861},[765,3198,974],{"class":857},[765,3200,3201,3204,3206],{"class":767,"line":1369},[765,3202,3203],{"class":928},"    spanProcessors",[765,3205,841],{"class":857},[765,3207,2003],{"class":861},[765,3209,3210,3213,3215,3217,3220,3222,3224],{"class":767,"line":1374},[765,3211,3212],{"class":857},"      new",[765,3214,3042],{"class":916},[765,3216,919],{"class":861},[765,3218,3219],{"class":857},"new",[765,3221,3062],{"class":916},[765,3223,919],{"class":861},[765,3225,922],{"class":857},[765,3227,3228,3231,3233,3235,3237,3239,3241,3244],{"class":767,"line":1686},[765,3229,3230],{"class":928},"        projectToken",[765,3232,841],{"class":857},[765,3234,1022],{"class":861},[765,3236,1008],{"class":857},[765,3238,1027],{"class":861},[765,3240,1008],{"class":857},[765,3242,3243],{"class":861},"POSTHOG_PROJECT_TOKEN",[765,3245,3246],{"class":857},"!,\n",[765,3248,3249,3252,3255],{"class":767,"line":1736},[765,3250,3251],{"class":857},"      }",[765,3253,3254],{"class":861},"))",[765,3256,974],{"class":857},[765,3258,3259,3261,3263,3265,3267,3269,3271],{"class":767,"line":1798},[765,3260,3212],{"class":857},[765,3262,3037],{"class":916},[765,3264,919],{"class":861},[765,3266,3219],{"class":857},[765,3268,3082],{"class":916},[765,3270,919],{"class":861},[765,3272,922],{"class":857},[765,3274,3275,3278,3280,3282,3284,3286,3288,3291],{"class":767,"line":1847},[765,3276,3277],{"class":928},"        url",[765,3279,841],{"class":857},[765,3281,1022],{"class":861},[765,3283,1008],{"class":857},[765,3285,1027],{"class":861},[765,3287,1008],{"class":857},[765,3289,3290],{"class":861},"SENTRY_OTLP_TRACES_ENDPOINT",[765,3292,3246],{"class":857},[765,3294,3295,3298,3300,3302,3304,3307,3309,3311,3314,3317,3320,3323,3325,3327,3329,3332,3335],{"class":767,"line":1861},[765,3296,3297],{"class":928},"        headers",[765,3299,841],{"class":857},[765,3301,858],{"class":857},[765,3303,871],{"class":857},[765,3305,3306],{"class":928},"x-sentry-auth",[765,3308,953],{"class":857},[765,3310,841],{"class":857},[765,3312,3313],{"class":857}," `",[765,3315,3316],{"class":774},"sentry sentry_key=",[765,3318,3319],{"class":857},"${",[765,3321,3322],{"class":861},"process",[765,3324,1008],{"class":857},[765,3326,1027],{"class":861},[765,3328,1008],{"class":857},[765,3330,3331],{"class":861},"SENTRY_PUBLIC_KEY",[765,3333,3334],{"class":857},"}`",[765,3336,958],{"class":857},[765,3338,3339,3341,3343],{"class":767,"line":1882},[765,3340,3251],{"class":857},[765,3342,3254],{"class":861},[765,3344,974],{"class":857},[765,3346,3347,3350],{"class":767,"line":1903},[765,3348,3349],{"class":861},"    ]",[765,3351,974],{"class":857},[765,3353,3354,3357,3359],{"class":767,"line":1920},[765,3355,3356],{"class":857},"  }",[765,3358,992],{"class":861},[765,3360,974],{"class":857},[765,3362,3363,3366,3368],{"class":767,"line":1936},[765,3364,3365],{"class":928},"  events",[765,3367,841],{"class":857},[765,3369,999],{"class":857},[765,3371,3372,3375,3378,3380,3382,3384,3387,3389,3391],{"class":767,"line":1953},[765,3373,3374],{"class":857},"    '",[765,3376,3377],{"class":928},"step.started",[765,3379,953],{"class":857},[765,3381,841],{"class":857},[765,3383,985],{"class":857},[765,3385,3386],{"class":988},"input",[765,3388,992],{"class":857},[765,3390,996],{"class":995},[765,3392,999],{"class":857},[765,3394,3395,3398,3401,3403,3406,3408,3411,3413,3416,3418,3421,3424],{"class":767,"line":1970},[765,3396,3397],{"class":995},"      const",[765,3399,3400],{"class":861}," principalId",[765,3402,1019],{"class":857},[765,3404,3405],{"class":861}," input",[765,3407,1008],{"class":857},[765,3409,3410],{"class":861},"session",[765,3412,1008],{"class":857},[765,3414,3415],{"class":861},"auth",[765,3417,1008],{"class":857},[765,3419,3420],{"class":861},"initiator",[765,3422,3423],{"class":857},"?.",[765,3425,3426],{"class":861},"principalId\n",[765,3428,3429,3432,3434,3436,3438,3440,3442,3444,3447,3449],{"class":767,"line":1991},[765,3430,3431],{"class":857},"        ??",[765,3433,3405],{"class":861},[765,3435,1008],{"class":857},[765,3437,3410],{"class":861},[765,3439,1008],{"class":857},[765,3441,3415],{"class":861},[765,3443,1008],{"class":857},[765,3445,3446],{"class":861},"current",[765,3448,3423],{"class":857},[765,3450,3426],{"class":861},[765,3452,3453,3456],{"class":767,"line":2006},[765,3454,3455],{"class":853},"      return",[765,3457,999],{"class":857},[765,3459,3460,3463,3465],{"class":767,"line":2068},[765,3461,3462],{"class":928},"        runtimeContext",[765,3464,841],{"class":857},[765,3466,999],{"class":857},[765,3468,3469,3472,3474,3476,3478,3480],{"class":767,"line":2117},[765,3470,3471],{"class":857},"          ...",[765,3473,3022],{"class":916},[765,3475,919],{"class":928},[765,3477,3386],{"class":861},[765,3479,992],{"class":928},[765,3481,974],{"class":857},[765,3483,3484],{"class":767,"line":2123},[765,3485,3486],{"class":3156},"          \u002F\u002F Omitted rather than blank: an empty attribute reads as an empty id.\n",[765,3488,3489,3491,3493,3495,3498,3500,3503,3505,3507,3509,3512,3515,3517],{"class":767,"line":2129},[765,3490,3471],{"class":857},[765,3492,919],{"class":928},[765,3494,2615],{"class":861},[765,3496,3497],{"class":857}," ?",[765,3499,858],{"class":857},[765,3501,3502],{"class":928}," posthog_distinct_id",[765,3504,841],{"class":857},[765,3506,3400],{"class":861},[765,3508,865],{"class":857},[765,3510,3511],{"class":857}," :",[765,3513,3514],{"class":857}," {}",[765,3516,992],{"class":928},[765,3518,974],{"class":857},[765,3520,3522],{"class":767,"line":3521},32,[765,3523,3524],{"class":857},"        },\n",[765,3526,3528],{"class":767,"line":3527},33,[765,3529,3530],{"class":857},"      }\n",[765,3532,3534],{"class":767,"line":3533},34,[765,3535,3536],{"class":857},"    },\n",[765,3538,3540],{"class":767,"line":3539},35,[765,3541,1038],{"class":857},[765,3543,3545,3547],{"class":767,"line":3544},36,[765,3546,1044],{"class":857},[765,3548,1047],{"class":861},[573,3550,3551,3553,3554,3557,3558,3561],{},[592,3552,3022],{}," returns ",[592,3555,3556],{},"undefined"," outside a tracked turn, and spreading that adds nothing. PostHog is the only registry item that also uses ",[592,3559,3560],{},"events","; the rest only need their span processor. Keep each generated file open while you merge: the env vars and exporter options are the parts worth copying exactly.",[573,3563,3564,3565,3568,3569,3571],{},"Spans and wide events stay joined by attribute, not by trace id: an agent turn has no inbound ",[592,3566,3567],{},"traceparent"," to inherit, so ",[592,3570,2852],{}," is what carries across.",[605,3573,3576,3582,3583,2596,3586,3589,3590,3593,3594,3597,3598,3601,3602,3604],{"color":3574,"icon":3575},"warning","i-lucide-triangle-alert",[583,3577,3578,3579,1008],{},"PostHog drops ",[592,3580,3581],{},"evlog.*"," Its exporter forwards the whole span, but the server-side conversion into ",[592,3584,3585],{},"$ai_generation",[592,3587,3588],{},"$ai_span"," events keeps only attributes prefixed ",[592,3591,3592],{},"posthog_",", and strips that prefix. To join on PostHog, repeat the ids under names that survive, since ",[592,3595,3596],{},"posthog_evlog_request_id"," arrives as ",[592,3599,3600],{},"evlog_request_id",". Other OTLP backends receive ",[592,3603,3581],{}," unchanged.",[573,3606,3607,3608,3611],{},"eve applies the runtime context to the step span only, so the generation spans beneath it inherit nothing. On PostHog that means cost lands on events with no identity and no environment. A span processor that copies the turn's ",[592,3609,3610],{},"posthog_*"," attributes onto every child span is what closes the gap.",[573,3613,3614],{},"To close the loop the other way, send the agent's own wide events to PostHog Logs and point the drain at the same principal:",[755,3616,3618],{"className":844,"code":3617,"filename":840,"language":846,"meta":761,"style":761},"import { createPostHogDrain } from 'evlog\u002Fposthog'\nimport { defineEvlogHook } from 'evlog\u002Feve'\n\nexport default defineEvlogHook({\n  drain: createPostHogDrain({ distinctIdField: 'eve.caller.principalId' }),\n})\n",[592,3619,3620,3640,3658,3662,3674,3704],{"__ignoreMap":761},[765,3621,3622,3624,3626,3629,3631,3633,3635,3638],{"class":767,"line":768},[765,3623,854],{"class":853},[765,3625,858],{"class":857},[765,3627,3628],{"class":861}," createPostHogDrain",[765,3630,865],{"class":857},[765,3632,868],{"class":853},[765,3634,871],{"class":857},[765,3636,3637],{"class":774},"evlog\u002Fposthog",[765,3639,876],{"class":857},[765,3641,3642,3644,3646,3648,3650,3652,3654,3656],{"class":767,"line":879},[765,3643,854],{"class":853},[765,3645,858],{"class":857},[765,3647,862],{"class":861},[765,3649,865],{"class":857},[765,3651,868],{"class":853},[765,3653,871],{"class":857},[765,3655,598],{"class":774},[765,3657,876],{"class":857},[765,3659,3660],{"class":767,"line":900},[765,3661,904],{"emptyLinePlaceholder":903},[765,3663,3664,3666,3668,3670,3672],{"class":767,"line":907},[765,3665,910],{"class":853},[765,3667,913],{"class":853},[765,3669,862],{"class":916},[765,3671,919],{"class":861},[765,3673,922],{"class":857},[765,3675,3676,3678,3680,3682,3684,3686,3689,3691,3693,3696,3698,3700,3702],{"class":767,"line":925},[765,3677,964],{"class":928},[765,3679,841],{"class":857},[765,3681,3628],{"class":916},[765,3683,919],{"class":861},[765,3685,1213],{"class":857},[765,3687,3688],{"class":928}," distinctIdField",[765,3690,841],{"class":857},[765,3692,871],{"class":857},[765,3694,3695],{"class":774},"eve.caller.principalId",[765,3697,953],{"class":857},[765,3699,865],{"class":857},[765,3701,992],{"class":861},[765,3703,974],{"class":857},[765,3705,3706,3708],{"class":767,"line":961},[765,3707,1044],{"class":857},[765,3709,1047],{"class":861},[573,3711,3712,3713,1008],{},"Turns then land on the same PostHog person as the LLM traces they produced. See the ",[576,3714,3716],{"href":3715},"\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog#link-a-log-to-a-person-and-a-session-replay","PostHog adapter",[668,3718,3720],{"id":3719},"production","Production",[573,3722,3723],{},"Long-running eve agents should disable terminal pretty-printing and use a non-blocking drain:",[755,3725,3727],{"className":844,"code":3726,"filename":840,"language":846,"meta":761,"style":761},"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",[592,3728,3729,3747,3765,3785,3789,3838,3847,3851,3855,3867,3875,3909,3922,3950,3954,3960,3972],{"__ignoreMap":761},[765,3730,3731,3733,3735,3737,3739,3741,3743,3745],{"class":767,"line":768},[765,3732,854],{"class":853},[765,3734,858],{"class":857},[765,3736,862],{"class":861},[765,3738,865],{"class":857},[765,3740,868],{"class":853},[765,3742,871],{"class":857},[765,3744,598],{"class":774},[765,3746,876],{"class":857},[765,3748,3749,3751,3753,3755,3757,3759,3761,3763],{"class":767,"line":879},[765,3750,854],{"class":853},[765,3752,858],{"class":857},[765,3754,886],{"class":861},[765,3756,865],{"class":857},[765,3758,868],{"class":853},[765,3760,871],{"class":857},[765,3762,895],{"class":774},[765,3764,876],{"class":857},[765,3766,3767,3769,3771,3774,3776,3778,3780,3783],{"class":767,"line":900},[765,3768,854],{"class":853},[765,3770,858],{"class":857},[765,3772,3773],{"class":861}," createDrainPipeline",[765,3775,865],{"class":857},[765,3777,868],{"class":853},[765,3779,871],{"class":857},[765,3781,3782],{"class":774},"evlog\u002Fpipeline",[765,3784,876],{"class":857},[765,3786,3787],{"class":767,"line":907},[765,3788,904],{"emptyLinePlaceholder":903},[765,3790,3791,3794,3797,3800,3802,3804,3806,3809,3811,3813,3816,3818,3821,3823,3826,3828,3831,3833,3835],{"class":767,"line":925},[765,3792,3793],{"class":995},"const",[765,3795,3796],{"class":861}," drain ",[765,3798,3799],{"class":857},"=",[765,3801,3773],{"class":916},[765,3803,919],{"class":861},[765,3805,1213],{"class":857},[765,3807,3808],{"class":928}," batch",[765,3810,841],{"class":857},[765,3812,858],{"class":857},[765,3814,3815],{"class":928}," size",[765,3817,841],{"class":857},[765,3819,3820],{"class":1517}," 50",[765,3822,1325],{"class":857},[765,3824,3825],{"class":928}," intervalMs",[765,3827,841],{"class":857},[765,3829,3830],{"class":1517}," 5000",[765,3832,865],{"class":857},[765,3834,865],{"class":857},[765,3836,3837],{"class":861},")(\n",[765,3839,3840,3843,3845],{"class":767,"line":961},[765,3841,3842],{"class":916},"  createAxiomDrain",[765,3844,971],{"class":861},[765,3846,974],{"class":857},[765,3848,3849],{"class":767,"line":977},[765,3850,1047],{"class":861},[765,3852,3853],{"class":767,"line":1002},[765,3854,904],{"emptyLinePlaceholder":903},[765,3856,3857,3859,3861,3863,3865],{"class":767,"line":1035},[765,3858,910],{"class":853},[765,3860,913],{"class":853},[765,3862,862],{"class":916},[765,3864,919],{"class":861},[765,3866,922],{"class":857},[765,3868,3869,3871,3873],{"class":767,"line":1041},[765,3870,929],{"class":928},[765,3872,841],{"class":857},[765,3874,999],{"class":857},[765,3876,3877,3880,3882,3884,3886,3888,3890,3892,3894,3896,3899,3901,3903,3905,3907],{"class":767,"line":1292},[765,3878,3879],{"class":928},"    env",[765,3881,841],{"class":857},[765,3883,858],{"class":857},[765,3885,943],{"class":928},[765,3887,841],{"class":857},[765,3889,871],{"class":857},[765,3891,950],{"class":774},[765,3893,953],{"class":857},[765,3895,1325],{"class":857},[765,3897,3898],{"class":928}," environment",[765,3900,841],{"class":857},[765,3902,871],{"class":857},[765,3904,3719],{"class":774},[765,3906,953],{"class":857},[765,3908,958],{"class":857},[765,3910,3911,3914,3916,3920],{"class":767,"line":1360},[765,3912,3913],{"class":928},"    pretty",[765,3915,841],{"class":857},[765,3917,3919],{"class":3918},"sfNiH"," false",[765,3921,974],{"class":857},[765,3923,3924,3927,3929,3931,3934,3936,3938,3941,3943,3946,3948],{"class":767,"line":1369},[765,3925,3926],{"class":928},"    sampling",[765,3928,841],{"class":857},[765,3930,858],{"class":857},[765,3932,3933],{"class":928}," rates",[765,3935,841],{"class":857},[765,3937,858],{"class":857},[765,3939,3940],{"class":928}," info",[765,3942,841],{"class":857},[765,3944,3945],{"class":1517}," 10",[765,3947,865],{"class":857},[765,3949,958],{"class":857},[765,3951,3952],{"class":767,"line":1374},[765,3953,1038],{"class":857},[765,3955,3956,3958],{"class":767,"line":1686},[765,3957,964],{"class":861},[765,3959,974],{"class":857},[765,3961,3962,3965,3967,3970],{"class":767,"line":1736},[765,3963,3964],{"class":928},"  maxSessions",[765,3966,841],{"class":857},[765,3968,3969],{"class":1517}," 256",[765,3971,974],{"class":857},[765,3973,3974,3976],{"class":767,"line":1798},[765,3975,1044],{"class":857},[765,3977,1047],{"class":861},[673,3979,3980,3990],{},[676,3981,3982],{},[679,3983,3984,3987],{},[682,3985,3986],{},"Concern",[682,3988,3989],{},"Recommendation",[689,3991,3992,4003,4011,4022,4036],{},[679,3993,3994,3997],{},[694,3995,3996],{},"Terminal output",[694,3998,3999,4002],{},[592,4000,4001],{},"init.pretty: false"," — pretty-print is for local dev only",[679,4004,4005,4008],{},[694,4006,4007],{},"Drain latency",[694,4009,4010],{},"Batch or async HTTP drains; never block the turn on I\u002FO",[679,4012,4013,4016],{},[694,4014,4015],{},"Head sampling",[694,4017,4018,4021],{},[592,4019,4020],{},"init.sampling.rates"," — eve emits one event per turn, not per token",[679,4023,4024,4026],{},[694,4025,221],{},[694,4027,4028,4031,4032,4035],{},[592,4029,4030],{},"maxSessions"," (default ",[592,4033,4034],{},"256",") evicts oldest idle session state",[679,4037,4038,4041],{},[694,4039,4040],{},"Load",[694,4042,4043],{},"Hook handlers are O(1) per stream event; cost is dominated by your drain",[668,4045,341],{"id":4046},"options",[673,4048,4049,4059],{},[676,4050,4051],{},[679,4052,4053,4056],{},[682,4054,4055],{},"Option",[682,4057,4058],{},"Description",[689,4060,4061,4074,4095,4115,4131,4144,4165,4176],{},[679,4062,4063,4067],{},[694,4064,4065],{},[592,4066,89],{},[694,4068,4069,4070,4073],{},"Passed to ",[592,4071,4072],{},"initLogger()"," on first hook invocation",[679,4075,4076,4090],{},[694,4077,4078,2596,4081,2596,4084,2596,4087],{},[592,4079,4080],{},"drain",[592,4082,4083],{},"enrich",[592,4085,4086],{},"keep",[592,4088,4089],{},"plugins",[694,4091,4092,4093,992],{},"Same as HTTP integrations (",[576,4094,4089],{"href":478},[679,4096,4097,4101],{},[694,4098,4099],{},[592,4100,2745],{},[694,4102,4103,4106,4107,4110,4111,4114],{},[592,4104,4105],{},"'omit'"," (default), ",[592,4108,4109],{},"'preview'"," or ",[592,4112,4113],{},"'full'"," — how much of the user message and the agent response to record",[679,4116,4117,4122],{},[694,4118,4119],{},[592,4120,4121],{},"messagePreviewLength",[694,4123,4124,4125,4127,4128,992],{},"Characters kept in ",[592,4126,4109],{}," mode (default ",[592,4129,4130],{},"500",[679,4132,4133,4138],{},[694,4134,4135],{},[592,4136,4137],{},"sessionEvent",[694,4139,4140,4143],{},[592,4141,4142],{},"true"," emits one extra event per session, rolling up its turns",[679,4145,4146,4152],{},[694,4147,4148,2596,4150],{},[592,4149,2763],{},[592,4151,1866],{},[694,4153,4154,4155,1416,4158,4161,4162,4164],{},"Fallback token pricing (",[592,4156,4157],{},"ModelCost",[592,4159,4160],{},"evlog\u002Fai",") → ",[592,4163,2759],{},", used only when eve reports no cost",[679,4166,4167,4171],{},[694,4168,4169],{},[592,4170,4030],{},[694,4172,4173,4174,992],{},"In-memory session cap for context carry-over (default ",[592,4175,4034],{},[679,4177,4178,4186],{},[694,4179,4180,2596,4183],{},[592,4181,4182],{},"include",[592,4184,4185],{},"exclude",[694,4187,4188,4189,992],{},"Route-style filters on turn paths (",[592,4190,4191],{},"\u002Fsessions\u002F*\u002Fturns\u002F*",[668,4193,485],{"id":4194},"tail-sampling",[573,4196,4197,4198,4200],{},"Use ",[592,4199,4086],{}," to force-keep turns with failed tools or high token usage:",[755,4202,4204],{"className":844,"code":4203,"filename":840,"language":846,"meta":761,"style":761},"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",[592,4205,4206,4218,4230,4247,4273,4284,4293,4317,4328,4370,4400,4446,4450],{"__ignoreMap":761},[765,4207,4208,4210,4212,4214,4216],{"class":767,"line":768},[765,4209,910],{"class":853},[765,4211,913],{"class":853},[765,4213,862],{"class":916},[765,4215,919],{"class":861},[765,4217,922],{"class":857},[765,4219,4220,4222,4224,4226,4228],{"class":767,"line":879},[765,4221,964],{"class":928},[765,4223,841],{"class":857},[765,4225,886],{"class":916},[765,4227,971],{"class":861},[765,4229,974],{"class":857},[765,4231,4232,4235,4237,4239,4241,4243,4245],{"class":767,"line":900},[765,4233,4234],{"class":916},"  keep",[765,4236,841],{"class":857},[765,4238,985],{"class":857},[765,4240,989],{"class":988},[765,4242,992],{"class":857},[765,4244,996],{"class":995},[765,4246,999],{"class":857},[765,4248,4249,4251,4254,4256,4259,4261,4264,4266,4268,4271],{"class":767,"line":907},[765,4250,1257],{"class":995},[765,4252,4253],{"class":861}," ai",[765,4255,1019],{"class":857},[765,4257,4258],{"class":861}," ctx",[765,4260,1008],{"class":857},[765,4262,4263],{"class":861},"context",[765,4265,1008],{"class":857},[765,4267,1852],{"class":861},[765,4269,4270],{"class":853}," as",[765,4272,999],{"class":857},[765,4274,4275,4278,4281],{"class":767,"line":925},[765,4276,4277],{"class":928},"      inputTokens",[765,4279,4280],{"class":857},"?:",[765,4282,4283],{"class":771}," number\n",[765,4285,4286,4289,4291],{"class":767,"line":961},[765,4287,4288],{"class":928},"      outputTokens",[765,4290,4280],{"class":857},[765,4292,4283],{"class":771},[765,4294,4295,4298,4300,4303,4306,4309,4311,4314],{"class":767,"line":977},[765,4296,4297],{"class":928},"      tools",[765,4299,4280],{"class":857},[765,4301,4302],{"class":771}," Array",[765,4304,4305],{"class":857},"\u003C{",[765,4307,4308],{"class":928}," success",[765,4310,841],{"class":857},[765,4312,4313],{"class":771}," boolean",[765,4315,4316],{"class":857}," }>\n",[765,4318,4319,4322,4325],{"class":767,"line":1002},[765,4320,4321],{"class":857},"    }",[765,4323,4324],{"class":857}," |",[765,4326,4327],{"class":771}," undefined\n",[765,4329,4330,4332,4335,4337,4339,4341,4343,4345,4348,4350,4353,4356,4358,4360,4362,4364,4366,4368],{"class":767,"line":1035},[765,4331,1257],{"class":995},[765,4333,4334],{"class":861}," totalTokens",[765,4336,1019],{"class":857},[765,4338,985],{"class":928},[765,4340,1852],{"class":861},[765,4342,3423],{"class":857},[765,4344,1941],{"class":861},[765,4346,4347],{"class":857}," ??",[765,4349,1643],{"class":1517},[765,4351,4352],{"class":928},") ",[765,4354,4355],{"class":857},"+",[765,4357,985],{"class":928},[765,4359,1852],{"class":861},[765,4361,3423],{"class":857},[765,4363,1958],{"class":861},[765,4365,4347],{"class":857},[765,4367,1643],{"class":1517},[765,4369,1047],{"class":928},[765,4371,4372,4375,4377,4380,4383,4386,4388,4390,4392,4395,4397],{"class":767,"line":1041},[765,4373,4374],{"class":853},"    if",[765,4376,985],{"class":928},[765,4378,4379],{"class":861},"totalTokens",[765,4381,4382],{"class":857}," >",[765,4384,4385],{"class":1517}," 10_000",[765,4387,4352],{"class":928},[765,4389,989],{"class":861},[765,4391,1008],{"class":857},[765,4393,4394],{"class":861},"shouldKeep",[765,4396,1019],{"class":857},[765,4398,4399],{"class":3918}," true\n",[765,4401,4402,4404,4406,4408,4410,4412,4414,4417,4419,4422,4424,4427,4429,4431,4433,4436,4438,4440,4442,4444],{"class":767,"line":1292},[765,4403,4374],{"class":853},[765,4405,985],{"class":928},[765,4407,1852],{"class":861},[765,4409,3423],{"class":857},[765,4411,1996],{"class":861},[765,4413,3423],{"class":857},[765,4415,4416],{"class":916},"some",[765,4418,919],{"class":928},[765,4420,4421],{"class":988},"t",[765,4423,996],{"class":995},[765,4425,4426],{"class":857}," !",[765,4428,4421],{"class":861},[765,4430,1008],{"class":857},[765,4432,2045],{"class":861},[765,4434,4435],{"class":928},")) ",[765,4437,989],{"class":861},[765,4439,1008],{"class":857},[765,4441,4394],{"class":861},[765,4443,1019],{"class":857},[765,4445,4399],{"class":3918},[765,4447,4448],{"class":767,"line":1360},[765,4449,1038],{"class":857},[765,4451,4452,4454],{"class":767,"line":1369},[765,4453,1044],{"class":857},[765,4455,1047],{"class":861},[668,4457,4459],{"id":4458},"audit-logs","Audit logs",[573,4461,4462,4463,4465,4466,4469,4470,4473,4474,4477,4478,1412,4480,1008],{},"Combine with ",[576,4464,382],{"href":388},": register ",[592,4467,4468],{},"auditEnricher()"," via ",[592,4471,4472],{},"init.plugins"," or a global plugin, and call ",[592,4475,4476],{},"log.audit()"," inside tools when a human approval gate fires. Tool rejections surface on ",[592,4479,2531],{},[592,4481,4482],{},"status: \"rejected\"",[668,4484,4486],{"id":4485},"run-locally","Run locally",[755,4488,4490],{"className":757,"code":4489,"language":760,"meta":761,"style":761},"git clone https:\u002F\u002Fgithub.com\u002Fevloghq\u002Fevlog\ncd evlog\npnpm install\npnpm example eve\n",[592,4491,4492,4503,4511,4518],{"__ignoreMap":761},[765,4493,4494,4497,4500],{"class":767,"line":768},[765,4495,4496],{"class":771},"git",[765,4498,4499],{"class":774}," clone",[765,4501,4502],{"class":774}," https:\u002F\u002Fgithub.com\u002Fevloghq\u002Fevlog\n",[765,4504,4505,4508],{"class":767,"line":879},[765,4506,4507],{"class":916},"cd",[765,4509,4510],{"class":774}," evlog\n",[765,4512,4513,4515],{"class":767,"line":900},[765,4514,759],{"class":771},[765,4516,4517],{"class":774}," install\n",[765,4519,4520,4522,4525],{"class":767,"line":907},[765,4521,759],{"class":771},[765,4523,4524],{"class":774}," example",[765,4526,781],{"class":774},[573,4528,4529,4530,4533,4534,4537,4538,4541,4542,4548],{},"The ",[592,4531,4532],{},"examples\u002Feve"," project is a ",[583,4535,4536],{},"support refund copilot"," (Clearbill SaaS): lookup customer → lookup order → issue refund, with eve approvals when amount > $100. Run ",[592,4539,4540],{},"pnpm example eve",", open ",[583,4543,4544],{},[576,4545,4546],{"href":4546,"rel":4547},"http:\u002F\u002Flocalhost:3000",[580],", and click a starter prompt.",[668,4550,4552],{"id":4551},"what-to-read-next","What to read next",[631,4554,4555,4563,4571,4577],{},[634,4556,4557,4562],{},[576,4558,4561],{"href":4559,"rel":4560},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fguides\u002Fhooks",[580],"eve hooks guide",": stream event vocabulary",[634,4564,4565,4570],{},[576,4566,4569],{"href":4567,"rel":4568},"https:\u002F\u002Feve.dev\u002Fdocs\u002Fguides\u002Finstrumentation",[580],"eve instrumentation",": OTel spans (complementary)",[634,4572,4573,4576],{},[576,4574,4575],{"href":333},"AI SDK use case",": when you own the model loop directly",[634,4578,4579,4582],{},[576,4580,4581],{"href":148},"Adapters overview",": drain destinations",[4584,4585,4586],"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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":761,"searchDepth":879,"depth":879,"links":4588},[4589,4590,4596,4599,4602,4603,4604,4605,4606,4607],{"id":670,"depth":879,"text":671},{"id":745,"depth":879,"text":25,"children":4591},[4592,4593,4594,4595],{"id":749,"depth":900,"text":750},{"id":833,"depth":900,"text":834},{"id":1061,"depth":900,"text":1062},{"id":1404,"depth":900,"text":1405},{"id":1445,"depth":879,"text":1446,"children":4597},[4598],{"id":2564,"depth":900,"text":2565},{"id":2801,"depth":879,"text":2802,"children":4600},[4601],{"id":2996,"depth":900,"text":2997},{"id":3719,"depth":879,"text":3720},{"id":4046,"depth":879,"text":341},{"id":4194,"depth":879,"text":485},{"id":4458,"depth":879,"text":4459},{"id":4485,"depth":879,"text":4486},{"id":4551,"depth":879,"text":4552},"One evlog wide event per eve agent turn: token usage, tool executions, and business context, through your own drains and tail sampling.","md",[4611],{"label":4612,"icon":4613,"to":1094,"color":1381,"variant":4614},"Source Code","i-simple-icons-github","subtle",{},{"title":440,"icon":443},{"title":440,"description":4608},"xIc37yECFoQZTjrjZKJ9N3HStP7lPkTn3ia9b6WEtuw",[4620,4622],{"title":435,"path":436,"stem":437,"description":4621,"icon":438,"children":-1},"Add derived context to every wide event, from user agent and geo to your own computed fields.",{"title":36,"path":450,"stem":451,"description":4623,"icon":452,"children":-1},"Observe what flows through the pipeline, plug into it, or build your own bricks. The map of every extension point evlog exposes.",1789048089376]