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