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