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