[{"data":1,"prerenderedAt":3055},["ShallowReactive",2],{"navigation_docs":3,"-use-cases-ai-sdk-telemetry":612,"-use-cases-ai-sdk-telemetry-surround":3050},[4,35,85,148,328,489,548,587],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Start","\u002Fstart","1.start",[9,14,19,24,29],{"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",{"title":30,"path":31,"stem":32,"icon":33},"Choose your logger","\u002Fstart\u002Ftypescript-logging-library","1.start\u002F5.typescript-logging-library","i-lucide-file-code",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Learn","\u002Flearn","2.learn",[40,45,50,55,60,65,70,75,80],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":56,"path":57,"stem":58,"icon":59},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":61,"path":62,"stem":63,"icon":64},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":66,"path":67,"stem":68,"icon":69},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":71,"path":72,"stem":73,"icon":74},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":76,"path":77,"stem":78,"icon":79},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":81,"path":82,"stem":83,"icon":84},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":86,"path":87,"stem":88,"children":89,"page":34},"CLI","\u002Fcli","3.cli",[90,93,98,103,108,113,118,123,128,133,138,143],{"title":41,"path":91,"stem":92,"icon":49},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":94,"path":95,"stem":96,"icon":97},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":99,"path":100,"stem":101,"icon":102},"logs","\u002Fcli\u002Flogs","3.cli\u002F10.logs","i-lucide-scroll-text",{"title":104,"path":105,"stem":106,"icon":107},"config","\u002Fcli\u002Fconfig","3.cli\u002F11.config","i-lucide-settings-2",{"title":109,"path":110,"stem":111,"icon":112},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":114,"path":115,"stem":116,"icon":117},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":119,"path":120,"stem":121,"icon":122},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":124,"path":125,"stem":126,"icon":127},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":129,"path":130,"stem":131,"icon":132},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":134,"path":135,"stem":136,"icon":137},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":139,"path":140,"stem":141,"icon":142},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":144,"path":145,"stem":146,"icon":147},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":149,"path":150,"stem":151,"children":152,"page":34},"Integrate","\u002Fintegrate","4.integrate",[153,157,240],{"title":41,"path":154,"stem":155,"icon":156},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":158,"path":159,"stem":160,"children":161,"page":34},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[162,165,195,220],{"title":41,"path":163,"stem":164,"icon":44},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":166,"path":167,"stem":168,"children":169,"page":34},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[170,175,180,185,190],{"title":171,"path":172,"stem":173,"icon":174},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":176,"path":177,"stem":178,"icon":179},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":181,"path":182,"stem":183,"icon":184},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":186,"path":187,"stem":188,"icon":189},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":191,"path":192,"stem":193,"icon":194},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":196,"path":197,"stem":198,"children":199,"page":34},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[200,205,210,215],{"title":201,"path":202,"stem":203,"icon":204},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":206,"path":207,"stem":208,"icon":209},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":211,"path":212,"stem":213,"icon":214},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":216,"path":217,"stem":218,"icon":219},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":221,"path":222,"stem":223,"children":224,"page":34},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[225,230,235],{"title":226,"path":227,"stem":228,"icon":229},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":231,"path":232,"stem":233,"icon":234},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":236,"path":237,"stem":238,"icon":239},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":241,"path":242,"stem":243,"children":244,"page":34},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[245,249,254,259,264,269,274,279,284,289,294,299,304,309,313,318,323],{"title":41,"path":246,"stem":247,"icon":248},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":250,"path":251,"stem":252,"icon":253},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":255,"path":256,"stem":257,"icon":258},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":260,"path":261,"stem":262,"icon":263},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":265,"path":266,"stem":267,"icon":268},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":270,"path":271,"stem":272,"icon":273},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":275,"path":276,"stem":277,"icon":278},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":280,"path":281,"stem":282,"icon":283},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":285,"path":286,"stem":287,"icon":288},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":290,"path":291,"stem":292,"icon":293},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":295,"path":296,"stem":297,"icon":298},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":300,"path":301,"stem":302,"icon":303},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":305,"path":306,"stem":307,"icon":308},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":310,"path":311,"stem":312,"icon":79},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":314,"path":315,"stem":316,"icon":317},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":319,"path":320,"stem":321,"icon":322},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":324,"path":325,"stem":326,"icon":327},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":329,"path":330,"stem":331,"children":332,"page":34},"Use Cases","\u002Fuse-cases","5.use-cases",[333,336,341,369,396,428,449,454,459,463],{"title":41,"path":334,"stem":335,"icon":117},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":337,"path":338,"stem":339,"icon":340},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":342,"icon":343,"path":344,"stem":345,"children":346,"page":34},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[347,350,355,360,365],{"title":41,"path":348,"stem":349,"icon":44},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":351,"path":352,"stem":353,"icon":354},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":356,"path":357,"stem":358,"icon":359},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":361,"path":362,"stem":363,"icon":364},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":366,"path":367,"stem":368,"icon":147},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":370,"icon":371,"path":372,"stem":373,"children":374,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[375,378,383,388,392],{"title":41,"path":376,"stem":377,"icon":44},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":379,"path":380,"stem":381,"icon":382},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":384,"path":385,"stem":386,"icon":387},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":389,"path":390,"stem":391,"icon":340},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":393,"path":394,"stem":395,"icon":122},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":397,"icon":398,"path":399,"stem":400,"children":401,"page":34},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[402,405,410,415,420,424],{"title":41,"path":403,"stem":404,"icon":44},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":406,"path":407,"stem":408,"icon":409},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":411,"path":412,"stem":413,"icon":414},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":416,"path":417,"stem":418,"icon":419},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":421,"path":422,"stem":423,"icon":398},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":425,"path":426,"stem":427,"icon":84},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":366,"icon":122,"path":429,"stem":430,"children":431,"page":34},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[432,435,440,445],{"title":41,"path":433,"stem":434,"icon":44},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":436,"path":437,"stem":438,"icon":439},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":441,"path":442,"stem":443,"icon":444},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":446,"path":447,"stem":448,"icon":84},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":450,"path":451,"stem":452,"icon":453},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":455,"path":456,"stem":457,"icon":458},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":460,"path":461,"stem":462,"icon":444},"Node.js request logging","\u002Fuse-cases\u002Fstructured-logging-nodejs","5.use-cases\u002F6.structured-logging-nodejs",{"title":464,"icon":465,"path":466,"stem":467,"children":468,"page":34},"Signals","i-lucide-scan-search","\u002Fuse-cases\u002Fsignals","5.use-cases\u002F7.signals",[469,472,477,482,485],{"title":41,"path":470,"stem":471,"icon":44},"\u002Fuse-cases\u002Fsignals\u002Foverview","5.use-cases\u002F7.signals\u002F01.overview",{"title":473,"path":474,"stem":475,"icon":476},"What You Can Ask","\u002Fuse-cases\u002Fsignals\u002Fask","5.use-cases\u002F7.signals\u002F02.ask","i-lucide-message-circle-question",{"title":478,"path":479,"stem":480,"icon":481},"What It Costs","\u002Fuse-cases\u002Fsignals\u002Fcost","5.use-cases\u002F7.signals\u002F03.cost","i-lucide-coins",{"title":446,"path":483,"stem":484,"icon":84},"\u002Fuse-cases\u002Fsignals\u002Freference","5.use-cases\u002F7.signals\u002F04.reference",{"title":425,"path":486,"stem":487,"icon":488},"\u002Fuse-cases\u002Fsignals\u002Frecipes","5.use-cases\u002F7.signals\u002F05.recipes","i-lucide-lightbulb",{"title":490,"path":491,"stem":492,"children":493,"page":34},"Extend","\u002Fextend","6.extend",[494,498,503,508,512,517,521,525,529,533,538,543],{"title":41,"path":495,"stem":496,"icon":497},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":499,"path":500,"stem":501,"icon":502},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":504,"path":505,"stem":506,"icon":507},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":509,"path":510,"stem":511,"icon":502},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":513,"path":514,"stem":515,"icon":516},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":425,"path":518,"stem":519,"icon":520},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":522,"path":523,"stem":524,"icon":497},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":526,"path":527,"stem":528,"icon":453},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":530,"path":531,"stem":532,"icon":69},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":534,"path":535,"stem":536,"icon":537},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":539,"path":540,"stem":541,"icon":542},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":544,"path":545,"stem":546,"icon":547},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":446,"path":549,"stem":550,"children":551,"page":34},"\u002Freference","7.reference",[552,556,561,564,569,573,578,582],{"title":41,"path":553,"stem":554,"icon":555},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":557,"path":558,"stem":559,"icon":560},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":393,"path":562,"stem":563,"icon":122},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":565,"path":566,"stem":567,"icon":568},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":570,"path":571,"stem":572,"icon":398},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":574,"path":575,"stem":576,"icon":577},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":579,"path":580,"stem":581,"icon":453},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":583,"path":584,"stem":585,"icon":586},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":588,"path":589,"stem":590,"children":591,"page":34},"Compare","\u002Fcompare","8.compare",[592,596,600,604,608],{"title":593,"path":594,"stem":595,"icon":577},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":597,"path":598,"stem":599,"icon":214},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":601,"path":602,"stem":603,"icon":577},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":605,"path":606,"stem":607,"icon":577},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":609,"path":610,"stem":611,"icon":577},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":613,"title":614,"body":615,"description":3038,"extension":3039,"links":3040,"meta":3046,"navigation":3047,"path":367,"seo":3048,"stem":368,"__hash__":3049},"docs\u002F5.use-cases\u002F2.ai-sdk\u002F05.telemetry.md","Deeper Telemetry",{"type":616,"value":617,"toc":3032},"minimark",[618,637,652,657,668,2073,2076,2442,2446,2449,2557,2561,2691,2694,2698,2706,2882,2892,3007,3028],[619,620,621,625,626,629,630,633,634,636],"p",{},[622,623,624],"code",{},"createAILogger"," covers tokens, model info, and streaming metrics. For deeper observability (per-tool execution timing, success\u002Ffailure tracking, and total generation wall time), add ",[622,627,628],{},"createEvlogIntegration()"," on top. It implements the AI SDK telemetry interface (v6 ",[622,631,632],{},"TelemetryIntegration",", v7 ",[622,635,366],{},") and captures data middleware alone cannot see.",[619,638,639,640,643,644,647,648,651],{},"On AI SDK v7, the integration also auto-captures embeddings via ",[622,641,642],{},"onEmbedEnd",", records stream aborts via ",[622,645,646],{},"onAbort",", and surfaces unrecoverable errors via ",[622,649,650],{},"onError",".",[653,654,656],"h2",{"id":655},"combined-with-middleware-recommended","Combined with middleware (recommended)",[619,658,659,660,663,664,667],{},"When passed an ",[622,661,662],{},"AILogger",", the integration shares its accumulator. Both paths write to the same ",[622,665,666],{},"ai.*"," field:",[669,670,671,1011,1283,1553,1818],"framework-tabs",{},[672,673,679],"pre",{"className":674,"code":675,"filename":250,"language":676,"meta":677,"style":678},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { useLogger } from 'evlog'\nimport { generateText } from 'ai'\nimport { createAILogger, createEvlogIntegration } from 'evlog\u002Fai'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\n  const ai = createAILogger(log)\n\n  const result = await generateText({\n    model: ai.wrap('anthropic\u002Fclaude-sonnet-4.6'),\n    tools: { getWeather, searchDB },\n    telemetry: {\n      integrations: [createEvlogIntegration(ai)],\n    },\n  })\n\n  return { text: result.text }\n})\n","typescript","server\u002Fapi\u002Fagent.post.ts","",[622,680,681,714,735,762,769,805,827,832,851,856,876,907,928,938,961,967,975,980,1003],{"__ignoreMap":678},[682,683,686,690,694,698,701,704,707,711],"span",{"class":684,"line":685},"line",1,[682,687,689],{"class":688},"s7zQu","import",[682,691,693],{"class":692},"sMK4o"," {",[682,695,697],{"class":696},"sTEyZ"," useLogger",[682,699,700],{"class":692}," }",[682,702,703],{"class":688}," from",[682,705,706],{"class":692}," '",[682,708,710],{"class":709},"sfazB","evlog",[682,712,713],{"class":692},"'\n",[682,715,717,719,721,724,726,728,730,733],{"class":684,"line":716},2,[682,718,689],{"class":688},[682,720,693],{"class":692},[682,722,723],{"class":696}," generateText",[682,725,700],{"class":692},[682,727,703],{"class":688},[682,729,706],{"class":692},[682,731,732],{"class":709},"ai",[682,734,713],{"class":692},[682,736,738,740,742,745,748,751,753,755,757,760],{"class":684,"line":737},3,[682,739,689],{"class":688},[682,741,693],{"class":692},[682,743,744],{"class":696}," createAILogger",[682,746,747],{"class":692},",",[682,749,750],{"class":696}," createEvlogIntegration",[682,752,700],{"class":692},[682,754,703],{"class":688},[682,756,706],{"class":692},[682,758,759],{"class":709},"evlog\u002Fai",[682,761,713],{"class":692},[682,763,765],{"class":684,"line":764},4,[682,766,768],{"emptyLinePlaceholder":767},true,"\n",[682,770,772,775,778,782,785,789,792,796,799,802],{"class":684,"line":771},5,[682,773,774],{"class":688},"export",[682,776,777],{"class":688}," default",[682,779,781],{"class":780},"s2Zo4"," defineEventHandler",[682,783,784],{"class":696},"(",[682,786,788],{"class":787},"spNyl","async",[682,790,791],{"class":692}," (",[682,793,795],{"class":794},"sHdIc","event",[682,797,798],{"class":692},")",[682,800,801],{"class":787}," =>",[682,803,804],{"class":692}," {\n",[682,806,808,811,814,817,819,822,824],{"class":684,"line":807},6,[682,809,810],{"class":787},"  const",[682,812,813],{"class":696}," log",[682,815,816],{"class":692}," =",[682,818,697],{"class":780},[682,820,784],{"class":821},"swJcz",[682,823,795],{"class":696},[682,825,826],{"class":821},")\n",[682,828,830],{"class":684,"line":829},7,[682,831,768],{"emptyLinePlaceholder":767},[682,833,835,837,840,842,844,846,849],{"class":684,"line":834},8,[682,836,810],{"class":787},[682,838,839],{"class":696}," ai",[682,841,816],{"class":692},[682,843,744],{"class":780},[682,845,784],{"class":821},[682,847,848],{"class":696},"log",[682,850,826],{"class":821},[682,852,854],{"class":684,"line":853},9,[682,855,768],{"emptyLinePlaceholder":767},[682,857,859,861,864,866,869,871,873],{"class":684,"line":858},10,[682,860,810],{"class":787},[682,862,863],{"class":696}," result",[682,865,816],{"class":692},[682,867,868],{"class":688}," await",[682,870,723],{"class":780},[682,872,784],{"class":821},[682,874,875],{"class":692},"{\n",[682,877,879,882,885,887,889,892,894,897,900,902,904],{"class":684,"line":878},11,[682,880,881],{"class":821},"    model",[682,883,884],{"class":692},":",[682,886,839],{"class":696},[682,888,651],{"class":692},[682,890,891],{"class":780},"wrap",[682,893,784],{"class":821},[682,895,896],{"class":692},"'",[682,898,899],{"class":709},"anthropic\u002Fclaude-sonnet-4.6",[682,901,896],{"class":692},[682,903,798],{"class":821},[682,905,906],{"class":692},",\n",[682,908,910,913,915,917,920,922,925],{"class":684,"line":909},12,[682,911,912],{"class":821},"    tools",[682,914,884],{"class":692},[682,916,693],{"class":692},[682,918,919],{"class":696}," getWeather",[682,921,747],{"class":692},[682,923,924],{"class":696}," searchDB",[682,926,927],{"class":692}," },\n",[682,929,931,934,936],{"class":684,"line":930},13,[682,932,933],{"class":821},"    telemetry",[682,935,884],{"class":692},[682,937,804],{"class":692},[682,939,941,944,946,949,952,954,956,959],{"class":684,"line":940},14,[682,942,943],{"class":821},"      integrations",[682,945,884],{"class":692},[682,947,948],{"class":821}," [",[682,950,951],{"class":780},"createEvlogIntegration",[682,953,784],{"class":821},[682,955,732],{"class":696},[682,957,958],{"class":821},")]",[682,960,906],{"class":692},[682,962,964],{"class":684,"line":963},15,[682,965,966],{"class":692},"    },\n",[682,968,970,973],{"class":684,"line":969},16,[682,971,972],{"class":692},"  }",[682,974,826],{"class":821},[682,976,978],{"class":684,"line":977},17,[682,979,768],{"emptyLinePlaceholder":767},[682,981,983,986,988,991,993,995,997,1000],{"class":684,"line":982},18,[682,984,985],{"class":688},"  return",[682,987,693],{"class":692},[682,989,990],{"class":821}," text",[682,992,884],{"class":692},[682,994,863],{"class":696},[682,996,651],{"class":692},[682,998,999],{"class":696},"text",[682,1001,1002],{"class":692}," }\n",[682,1004,1006,1009],{"class":684,"line":1005},19,[682,1007,1008],{"class":692},"}",[682,1010,826],{"class":696},[672,1012,1015],{"className":674,"code":1013,"filename":265,"language":676,"meta":1014,"style":678},"import { defineHandler } from 'nitro\u002Fh3'\nimport { useLogger } from 'evlog\u002Fnitro\u002Fv3'\nimport { generateText } from 'ai'\nimport { createAILogger, createEvlogIntegration } from 'evlog\u002Fai'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n\n  const ai = createAILogger(log)\n\n  const result = await generateText({\n    model: ai.wrap('anthropic\u002Fclaude-sonnet-4.6'),\n    tools: { getWeather, searchDB },\n    telemetry: {\n      integrations: [createEvlogIntegration(ai)],\n    },\n  })\n\n  return { text: result.text }\n})\n","routes\u002Fapi\u002Fagent.post.ts",[622,1016,1017,1037,1056,1074,1096,1100,1122,1138,1142,1158,1162,1178,1202,1218,1226,1244,1248,1254,1258,1276],{"__ignoreMap":678},[682,1018,1019,1021,1023,1026,1028,1030,1032,1035],{"class":684,"line":685},[682,1020,689],{"class":688},[682,1022,693],{"class":692},[682,1024,1025],{"class":696}," defineHandler",[682,1027,700],{"class":692},[682,1029,703],{"class":688},[682,1031,706],{"class":692},[682,1033,1034],{"class":709},"nitro\u002Fh3",[682,1036,713],{"class":692},[682,1038,1039,1041,1043,1045,1047,1049,1051,1054],{"class":684,"line":716},[682,1040,689],{"class":688},[682,1042,693],{"class":692},[682,1044,697],{"class":696},[682,1046,700],{"class":692},[682,1048,703],{"class":688},[682,1050,706],{"class":692},[682,1052,1053],{"class":709},"evlog\u002Fnitro\u002Fv3",[682,1055,713],{"class":692},[682,1057,1058,1060,1062,1064,1066,1068,1070,1072],{"class":684,"line":737},[682,1059,689],{"class":688},[682,1061,693],{"class":692},[682,1063,723],{"class":696},[682,1065,700],{"class":692},[682,1067,703],{"class":688},[682,1069,706],{"class":692},[682,1071,732],{"class":709},[682,1073,713],{"class":692},[682,1075,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094],{"class":684,"line":764},[682,1077,689],{"class":688},[682,1079,693],{"class":692},[682,1081,744],{"class":696},[682,1083,747],{"class":692},[682,1085,750],{"class":696},[682,1087,700],{"class":692},[682,1089,703],{"class":688},[682,1091,706],{"class":692},[682,1093,759],{"class":709},[682,1095,713],{"class":692},[682,1097,1098],{"class":684,"line":771},[682,1099,768],{"emptyLinePlaceholder":767},[682,1101,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120],{"class":684,"line":807},[682,1103,774],{"class":688},[682,1105,777],{"class":688},[682,1107,1025],{"class":780},[682,1109,784],{"class":696},[682,1111,788],{"class":787},[682,1113,791],{"class":692},[682,1115,795],{"class":794},[682,1117,798],{"class":692},[682,1119,801],{"class":787},[682,1121,804],{"class":692},[682,1123,1124,1126,1128,1130,1132,1134,1136],{"class":684,"line":829},[682,1125,810],{"class":787},[682,1127,813],{"class":696},[682,1129,816],{"class":692},[682,1131,697],{"class":780},[682,1133,784],{"class":821},[682,1135,795],{"class":696},[682,1137,826],{"class":821},[682,1139,1140],{"class":684,"line":834},[682,1141,768],{"emptyLinePlaceholder":767},[682,1143,1144,1146,1148,1150,1152,1154,1156],{"class":684,"line":853},[682,1145,810],{"class":787},[682,1147,839],{"class":696},[682,1149,816],{"class":692},[682,1151,744],{"class":780},[682,1153,784],{"class":821},[682,1155,848],{"class":696},[682,1157,826],{"class":821},[682,1159,1160],{"class":684,"line":858},[682,1161,768],{"emptyLinePlaceholder":767},[682,1163,1164,1166,1168,1170,1172,1174,1176],{"class":684,"line":878},[682,1165,810],{"class":787},[682,1167,863],{"class":696},[682,1169,816],{"class":692},[682,1171,868],{"class":688},[682,1173,723],{"class":780},[682,1175,784],{"class":821},[682,1177,875],{"class":692},[682,1179,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200],{"class":684,"line":909},[682,1181,881],{"class":821},[682,1183,884],{"class":692},[682,1185,839],{"class":696},[682,1187,651],{"class":692},[682,1189,891],{"class":780},[682,1191,784],{"class":821},[682,1193,896],{"class":692},[682,1195,899],{"class":709},[682,1197,896],{"class":692},[682,1199,798],{"class":821},[682,1201,906],{"class":692},[682,1203,1204,1206,1208,1210,1212,1214,1216],{"class":684,"line":930},[682,1205,912],{"class":821},[682,1207,884],{"class":692},[682,1209,693],{"class":692},[682,1211,919],{"class":696},[682,1213,747],{"class":692},[682,1215,924],{"class":696},[682,1217,927],{"class":692},[682,1219,1220,1222,1224],{"class":684,"line":940},[682,1221,933],{"class":821},[682,1223,884],{"class":692},[682,1225,804],{"class":692},[682,1227,1228,1230,1232,1234,1236,1238,1240,1242],{"class":684,"line":963},[682,1229,943],{"class":821},[682,1231,884],{"class":692},[682,1233,948],{"class":821},[682,1235,951],{"class":780},[682,1237,784],{"class":821},[682,1239,732],{"class":696},[682,1241,958],{"class":821},[682,1243,906],{"class":692},[682,1245,1246],{"class":684,"line":969},[682,1247,966],{"class":692},[682,1249,1250,1252],{"class":684,"line":977},[682,1251,972],{"class":692},[682,1253,826],{"class":821},[682,1255,1256],{"class":684,"line":982},[682,1257,768],{"emptyLinePlaceholder":767},[682,1259,1260,1262,1264,1266,1268,1270,1272,1274],{"class":684,"line":1005},[682,1261,985],{"class":688},[682,1263,693],{"class":692},[682,1265,990],{"class":821},[682,1267,884],{"class":692},[682,1269,863],{"class":696},[682,1271,651],{"class":692},[682,1273,999],{"class":696},[682,1275,1002],{"class":692},[682,1277,1279,1281],{"class":684,"line":1278},20,[682,1280,1008],{"class":692},[682,1282,826],{"class":696},[672,1284,1287],{"className":674,"code":1285,"filename":255,"language":676,"meta":1286,"style":678},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { generateText } from 'ai'\nimport { createAILogger, createEvlogIntegration } from 'evlog\u002Fai'\n\nexport const POST = withEvlog(async () => {\n  const log = useLogger()\n\n  const ai = createAILogger(log)\n\n  const result = await generateText({\n    model: ai.wrap('anthropic\u002Fclaude-sonnet-4.6'),\n    tools: { getWeather, searchDB },\n    telemetry: {\n      integrations: [createEvlogIntegration(ai)],\n    },\n  })\n\n  return Response.json({ text: result.text })\n})\n","app\u002Fapi\u002Fagent\u002Froute.ts",[622,1288,1289,1313,1331,1353,1357,1383,1396,1400,1416,1420,1436,1460,1476,1484,1502,1506,1512,1516,1547],{"__ignoreMap":678},[682,1290,1291,1293,1295,1298,1300,1302,1304,1306,1308,1311],{"class":684,"line":685},[682,1292,689],{"class":688},[682,1294,693],{"class":692},[682,1296,1297],{"class":696}," withEvlog",[682,1299,747],{"class":692},[682,1301,697],{"class":696},[682,1303,700],{"class":692},[682,1305,703],{"class":688},[682,1307,706],{"class":692},[682,1309,1310],{"class":709},"@\u002Flib\u002Fevlog",[682,1312,713],{"class":692},[682,1314,1315,1317,1319,1321,1323,1325,1327,1329],{"class":684,"line":716},[682,1316,689],{"class":688},[682,1318,693],{"class":692},[682,1320,723],{"class":696},[682,1322,700],{"class":692},[682,1324,703],{"class":688},[682,1326,706],{"class":692},[682,1328,732],{"class":709},[682,1330,713],{"class":692},[682,1332,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351],{"class":684,"line":737},[682,1334,689],{"class":688},[682,1336,693],{"class":692},[682,1338,744],{"class":696},[682,1340,747],{"class":692},[682,1342,750],{"class":696},[682,1344,700],{"class":692},[682,1346,703],{"class":688},[682,1348,706],{"class":692},[682,1350,759],{"class":709},[682,1352,713],{"class":692},[682,1354,1355],{"class":684,"line":764},[682,1356,768],{"emptyLinePlaceholder":767},[682,1358,1359,1361,1364,1367,1370,1372,1374,1376,1379,1381],{"class":684,"line":771},[682,1360,774],{"class":688},[682,1362,1363],{"class":787}," const",[682,1365,1366],{"class":696}," POST ",[682,1368,1369],{"class":692},"=",[682,1371,1297],{"class":780},[682,1373,784],{"class":696},[682,1375,788],{"class":787},[682,1377,1378],{"class":692}," ()",[682,1380,801],{"class":787},[682,1382,804],{"class":692},[682,1384,1385,1387,1389,1391,1393],{"class":684,"line":807},[682,1386,810],{"class":787},[682,1388,813],{"class":696},[682,1390,816],{"class":692},[682,1392,697],{"class":780},[682,1394,1395],{"class":821},"()\n",[682,1397,1398],{"class":684,"line":829},[682,1399,768],{"emptyLinePlaceholder":767},[682,1401,1402,1404,1406,1408,1410,1412,1414],{"class":684,"line":834},[682,1403,810],{"class":787},[682,1405,839],{"class":696},[682,1407,816],{"class":692},[682,1409,744],{"class":780},[682,1411,784],{"class":821},[682,1413,848],{"class":696},[682,1415,826],{"class":821},[682,1417,1418],{"class":684,"line":853},[682,1419,768],{"emptyLinePlaceholder":767},[682,1421,1422,1424,1426,1428,1430,1432,1434],{"class":684,"line":858},[682,1423,810],{"class":787},[682,1425,863],{"class":696},[682,1427,816],{"class":692},[682,1429,868],{"class":688},[682,1431,723],{"class":780},[682,1433,784],{"class":821},[682,1435,875],{"class":692},[682,1437,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458],{"class":684,"line":878},[682,1439,881],{"class":821},[682,1441,884],{"class":692},[682,1443,839],{"class":696},[682,1445,651],{"class":692},[682,1447,891],{"class":780},[682,1449,784],{"class":821},[682,1451,896],{"class":692},[682,1453,899],{"class":709},[682,1455,896],{"class":692},[682,1457,798],{"class":821},[682,1459,906],{"class":692},[682,1461,1462,1464,1466,1468,1470,1472,1474],{"class":684,"line":909},[682,1463,912],{"class":821},[682,1465,884],{"class":692},[682,1467,693],{"class":692},[682,1469,919],{"class":696},[682,1471,747],{"class":692},[682,1473,924],{"class":696},[682,1475,927],{"class":692},[682,1477,1478,1480,1482],{"class":684,"line":930},[682,1479,933],{"class":821},[682,1481,884],{"class":692},[682,1483,804],{"class":692},[682,1485,1486,1488,1490,1492,1494,1496,1498,1500],{"class":684,"line":940},[682,1487,943],{"class":821},[682,1489,884],{"class":692},[682,1491,948],{"class":821},[682,1493,951],{"class":780},[682,1495,784],{"class":821},[682,1497,732],{"class":696},[682,1499,958],{"class":821},[682,1501,906],{"class":692},[682,1503,1504],{"class":684,"line":963},[682,1505,966],{"class":692},[682,1507,1508,1510],{"class":684,"line":969},[682,1509,972],{"class":692},[682,1511,826],{"class":821},[682,1513,1514],{"class":684,"line":977},[682,1515,768],{"emptyLinePlaceholder":767},[682,1517,1518,1520,1523,1525,1528,1530,1533,1535,1537,1539,1541,1543,1545],{"class":684,"line":982},[682,1519,985],{"class":688},[682,1521,1522],{"class":696}," Response",[682,1524,651],{"class":692},[682,1526,1527],{"class":780},"json",[682,1529,784],{"class":821},[682,1531,1532],{"class":692},"{",[682,1534,990],{"class":821},[682,1536,884],{"class":692},[682,1538,863],{"class":696},[682,1540,651],{"class":692},[682,1542,999],{"class":696},[682,1544,700],{"class":692},[682,1546,826],{"class":821},[682,1548,1549,1551],{"class":684,"line":1005},[682,1550,1008],{"class":692},[682,1552,826],{"class":696},[672,1554,1557],{"className":674,"code":1555,"filename":285,"language":676,"meta":1556,"style":678},"import { generateText } from 'ai'\nimport { createAILogger, createEvlogIntegration } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fagent', async (c) => {\n  const log = c.get('log')\n\n  const ai = createAILogger(log)\n\n  const result = await generateText({\n    model: ai.wrap('anthropic\u002Fclaude-sonnet-4.6'),\n    tools: { getWeather, searchDB },\n    telemetry: {\n      integrations: [createEvlogIntegration(ai)],\n    },\n  })\n\n  return c.json({ text: result.text })\n})\n","src\u002Findex.ts",[622,1558,1559,1577,1599,1603,1638,1664,1668,1684,1688,1704,1728,1744,1752,1770,1774,1780,1784,1812],{"__ignoreMap":678},[682,1560,1561,1563,1565,1567,1569,1571,1573,1575],{"class":684,"line":685},[682,1562,689],{"class":688},[682,1564,693],{"class":692},[682,1566,723],{"class":696},[682,1568,700],{"class":692},[682,1570,703],{"class":688},[682,1572,706],{"class":692},[682,1574,732],{"class":709},[682,1576,713],{"class":692},[682,1578,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597],{"class":684,"line":716},[682,1580,689],{"class":688},[682,1582,693],{"class":692},[682,1584,744],{"class":696},[682,1586,747],{"class":692},[682,1588,750],{"class":696},[682,1590,700],{"class":692},[682,1592,703],{"class":688},[682,1594,706],{"class":692},[682,1596,759],{"class":709},[682,1598,713],{"class":692},[682,1600,1601],{"class":684,"line":737},[682,1602,768],{"emptyLinePlaceholder":767},[682,1604,1605,1608,1610,1613,1615,1617,1620,1622,1624,1627,1629,1632,1634,1636],{"class":684,"line":764},[682,1606,1607],{"class":696},"app",[682,1609,651],{"class":692},[682,1611,1612],{"class":780},"post",[682,1614,784],{"class":696},[682,1616,896],{"class":692},[682,1618,1619],{"class":709},"\u002Fapi\u002Fagent",[682,1621,896],{"class":692},[682,1623,747],{"class":692},[682,1625,1626],{"class":787}," async",[682,1628,791],{"class":692},[682,1630,1631],{"class":794},"c",[682,1633,798],{"class":692},[682,1635,801],{"class":787},[682,1637,804],{"class":692},[682,1639,1640,1642,1644,1646,1649,1651,1654,1656,1658,1660,1662],{"class":684,"line":771},[682,1641,810],{"class":787},[682,1643,813],{"class":696},[682,1645,816],{"class":692},[682,1647,1648],{"class":696}," c",[682,1650,651],{"class":692},[682,1652,1653],{"class":780},"get",[682,1655,784],{"class":821},[682,1657,896],{"class":692},[682,1659,848],{"class":709},[682,1661,896],{"class":692},[682,1663,826],{"class":821},[682,1665,1666],{"class":684,"line":807},[682,1667,768],{"emptyLinePlaceholder":767},[682,1669,1670,1672,1674,1676,1678,1680,1682],{"class":684,"line":829},[682,1671,810],{"class":787},[682,1673,839],{"class":696},[682,1675,816],{"class":692},[682,1677,744],{"class":780},[682,1679,784],{"class":821},[682,1681,848],{"class":696},[682,1683,826],{"class":821},[682,1685,1686],{"class":684,"line":834},[682,1687,768],{"emptyLinePlaceholder":767},[682,1689,1690,1692,1694,1696,1698,1700,1702],{"class":684,"line":853},[682,1691,810],{"class":787},[682,1693,863],{"class":696},[682,1695,816],{"class":692},[682,1697,868],{"class":688},[682,1699,723],{"class":780},[682,1701,784],{"class":821},[682,1703,875],{"class":692},[682,1705,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726],{"class":684,"line":858},[682,1707,881],{"class":821},[682,1709,884],{"class":692},[682,1711,839],{"class":696},[682,1713,651],{"class":692},[682,1715,891],{"class":780},[682,1717,784],{"class":821},[682,1719,896],{"class":692},[682,1721,899],{"class":709},[682,1723,896],{"class":692},[682,1725,798],{"class":821},[682,1727,906],{"class":692},[682,1729,1730,1732,1734,1736,1738,1740,1742],{"class":684,"line":878},[682,1731,912],{"class":821},[682,1733,884],{"class":692},[682,1735,693],{"class":692},[682,1737,919],{"class":696},[682,1739,747],{"class":692},[682,1741,924],{"class":696},[682,1743,927],{"class":692},[682,1745,1746,1748,1750],{"class":684,"line":909},[682,1747,933],{"class":821},[682,1749,884],{"class":692},[682,1751,804],{"class":692},[682,1753,1754,1756,1758,1760,1762,1764,1766,1768],{"class":684,"line":930},[682,1755,943],{"class":821},[682,1757,884],{"class":692},[682,1759,948],{"class":821},[682,1761,951],{"class":780},[682,1763,784],{"class":821},[682,1765,732],{"class":696},[682,1767,958],{"class":821},[682,1769,906],{"class":692},[682,1771,1772],{"class":684,"line":940},[682,1773,966],{"class":692},[682,1775,1776,1778],{"class":684,"line":963},[682,1777,972],{"class":692},[682,1779,826],{"class":821},[682,1781,1782],{"class":684,"line":969},[682,1783,768],{"emptyLinePlaceholder":767},[682,1785,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810],{"class":684,"line":977},[682,1787,985],{"class":688},[682,1789,1648],{"class":696},[682,1791,651],{"class":692},[682,1793,1527],{"class":780},[682,1795,784],{"class":821},[682,1797,1532],{"class":692},[682,1799,990],{"class":821},[682,1801,884],{"class":692},[682,1803,863],{"class":696},[682,1805,651],{"class":692},[682,1807,999],{"class":696},[682,1809,700],{"class":692},[682,1811,826],{"class":821},[682,1813,1814,1816],{"class":684,"line":982},[682,1815,1008],{"class":692},[682,1817,826],{"class":696},[672,1819,1821],{"className":674,"code":1820,"filename":280,"language":676,"meta":1556,"style":678},"import { generateText } from 'ai'\nimport { createAILogger, createEvlogIntegration } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fagent', async (req, res) => {\n  const log = req.log\n\n  const ai = createAILogger(log)\n\n  const result = await generateText({\n    model: ai.wrap('anthropic\u002Fclaude-sonnet-4.6'),\n    tools: { getWeather, searchDB },\n    telemetry: {\n      integrations: [createEvlogIntegration(ai)],\n    },\n  })\n\n  return res.json({ text: result.text })\n})\n",[622,1822,1823,1841,1863,1867,1903,1919,1923,1939,1943,1959,1983,1999,2007,2025,2029,2035,2039,2067],{"__ignoreMap":678},[682,1824,1825,1827,1829,1831,1833,1835,1837,1839],{"class":684,"line":685},[682,1826,689],{"class":688},[682,1828,693],{"class":692},[682,1830,723],{"class":696},[682,1832,700],{"class":692},[682,1834,703],{"class":688},[682,1836,706],{"class":692},[682,1838,732],{"class":709},[682,1840,713],{"class":692},[682,1842,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861],{"class":684,"line":716},[682,1844,689],{"class":688},[682,1846,693],{"class":692},[682,1848,744],{"class":696},[682,1850,747],{"class":692},[682,1852,750],{"class":696},[682,1854,700],{"class":692},[682,1856,703],{"class":688},[682,1858,706],{"class":692},[682,1860,759],{"class":709},[682,1862,713],{"class":692},[682,1864,1865],{"class":684,"line":737},[682,1866,768],{"emptyLinePlaceholder":767},[682,1868,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1892,1894,1897,1899,1901],{"class":684,"line":764},[682,1870,1607],{"class":696},[682,1872,651],{"class":692},[682,1874,1612],{"class":780},[682,1876,784],{"class":696},[682,1878,896],{"class":692},[682,1880,1619],{"class":709},[682,1882,896],{"class":692},[682,1884,747],{"class":692},[682,1886,1626],{"class":787},[682,1888,791],{"class":692},[682,1890,1891],{"class":794},"req",[682,1893,747],{"class":692},[682,1895,1896],{"class":794}," res",[682,1898,798],{"class":692},[682,1900,801],{"class":787},[682,1902,804],{"class":692},[682,1904,1905,1907,1909,1911,1914,1916],{"class":684,"line":771},[682,1906,810],{"class":787},[682,1908,813],{"class":696},[682,1910,816],{"class":692},[682,1912,1913],{"class":696}," req",[682,1915,651],{"class":692},[682,1917,1918],{"class":696},"log\n",[682,1920,1921],{"class":684,"line":807},[682,1922,768],{"emptyLinePlaceholder":767},[682,1924,1925,1927,1929,1931,1933,1935,1937],{"class":684,"line":829},[682,1926,810],{"class":787},[682,1928,839],{"class":696},[682,1930,816],{"class":692},[682,1932,744],{"class":780},[682,1934,784],{"class":821},[682,1936,848],{"class":696},[682,1938,826],{"class":821},[682,1940,1941],{"class":684,"line":834},[682,1942,768],{"emptyLinePlaceholder":767},[682,1944,1945,1947,1949,1951,1953,1955,1957],{"class":684,"line":853},[682,1946,810],{"class":787},[682,1948,863],{"class":696},[682,1950,816],{"class":692},[682,1952,868],{"class":688},[682,1954,723],{"class":780},[682,1956,784],{"class":821},[682,1958,875],{"class":692},[682,1960,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981],{"class":684,"line":858},[682,1962,881],{"class":821},[682,1964,884],{"class":692},[682,1966,839],{"class":696},[682,1968,651],{"class":692},[682,1970,891],{"class":780},[682,1972,784],{"class":821},[682,1974,896],{"class":692},[682,1976,899],{"class":709},[682,1978,896],{"class":692},[682,1980,798],{"class":821},[682,1982,906],{"class":692},[682,1984,1985,1987,1989,1991,1993,1995,1997],{"class":684,"line":878},[682,1986,912],{"class":821},[682,1988,884],{"class":692},[682,1990,693],{"class":692},[682,1992,919],{"class":696},[682,1994,747],{"class":692},[682,1996,924],{"class":696},[682,1998,927],{"class":692},[682,2000,2001,2003,2005],{"class":684,"line":909},[682,2002,933],{"class":821},[682,2004,884],{"class":692},[682,2006,804],{"class":692},[682,2008,2009,2011,2013,2015,2017,2019,2021,2023],{"class":684,"line":930},[682,2010,943],{"class":821},[682,2012,884],{"class":692},[682,2014,948],{"class":821},[682,2016,951],{"class":780},[682,2018,784],{"class":821},[682,2020,732],{"class":696},[682,2022,958],{"class":821},[682,2024,906],{"class":692},[682,2026,2027],{"class":684,"line":940},[682,2028,966],{"class":692},[682,2030,2031,2033],{"class":684,"line":963},[682,2032,972],{"class":692},[682,2034,826],{"class":821},[682,2036,2037],{"class":684,"line":969},[682,2038,768],{"emptyLinePlaceholder":767},[682,2040,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2065],{"class":684,"line":977},[682,2042,985],{"class":688},[682,2044,1896],{"class":696},[682,2046,651],{"class":692},[682,2048,1527],{"class":780},[682,2050,784],{"class":821},[682,2052,1532],{"class":692},[682,2054,990],{"class":821},[682,2056,884],{"class":692},[682,2058,863],{"class":696},[682,2060,651],{"class":692},[682,2062,999],{"class":696},[682,2064,700],{"class":692},[682,2066,826],{"class":821},[682,2068,2069,2071],{"class":684,"line":982},[682,2070,1008],{"class":692},[682,2072,826],{"class":696},[619,2074,2075],{},"Your wide event now includes per-tool timing:",[672,2077,2081],{"className":2078,"code":2079,"filename":2080,"language":1527,"meta":678,"style":678},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"ai\": {\n    \"calls\": 2,\n    \"steps\": 2,\n    \"model\": \"claude-sonnet-4.6\",\n    \"provider\": \"anthropic\",\n    \"inputTokens\": 3500,\n    \"outputTokens\": 800,\n    \"totalTokens\": 4300,\n    \"toolCalls\": [\"getWeather\", \"searchDB\"],\n    \"tools\": [\n      { \"name\": \"getWeather\", \"durationMs\": 150, \"success\": true },\n      { \"name\": \"searchDB\", \"durationMs\": 45, \"success\": true }\n    ],\n    \"totalDurationMs\": 2340,\n    \"msToFirstChunk\": 180,\n    \"msToFinish\": 2100,\n    \"tokensPerSecond\": 380\n  }\n}\n","Wide Event",[622,2082,2083,2087,2101,2120,2135,2156,2176,2192,2208,2224,2256,2270,2320,2365,2370,2386,2402,2418,2432,2437],{"__ignoreMap":678},[682,2084,2085],{"class":684,"line":685},[682,2086,875],{"class":692},[682,2088,2089,2092,2094,2097,2099],{"class":684,"line":716},[682,2090,2091],{"class":692},"  \"",[682,2093,732],{"class":787},[682,2095,2096],{"class":692},"\"",[682,2098,884],{"class":692},[682,2100,804],{"class":692},[682,2102,2103,2106,2110,2112,2114,2118],{"class":684,"line":737},[682,2104,2105],{"class":692},"    \"",[682,2107,2109],{"class":2108},"sBMFI","calls",[682,2111,2096],{"class":692},[682,2113,884],{"class":692},[682,2115,2117],{"class":2116},"sbssI"," 2",[682,2119,906],{"class":692},[682,2121,2122,2124,2127,2129,2131,2133],{"class":684,"line":764},[682,2123,2105],{"class":692},[682,2125,2126],{"class":2108},"steps",[682,2128,2096],{"class":692},[682,2130,884],{"class":692},[682,2132,2117],{"class":2116},[682,2134,906],{"class":692},[682,2136,2137,2139,2142,2144,2146,2149,2152,2154],{"class":684,"line":771},[682,2138,2105],{"class":692},[682,2140,2141],{"class":2108},"model",[682,2143,2096],{"class":692},[682,2145,884],{"class":692},[682,2147,2148],{"class":692}," \"",[682,2150,2151],{"class":709},"claude-sonnet-4.6",[682,2153,2096],{"class":692},[682,2155,906],{"class":692},[682,2157,2158,2160,2163,2165,2167,2169,2172,2174],{"class":684,"line":807},[682,2159,2105],{"class":692},[682,2161,2162],{"class":2108},"provider",[682,2164,2096],{"class":692},[682,2166,884],{"class":692},[682,2168,2148],{"class":692},[682,2170,2171],{"class":709},"anthropic",[682,2173,2096],{"class":692},[682,2175,906],{"class":692},[682,2177,2178,2180,2183,2185,2187,2190],{"class":684,"line":829},[682,2179,2105],{"class":692},[682,2181,2182],{"class":2108},"inputTokens",[682,2184,2096],{"class":692},[682,2186,884],{"class":692},[682,2188,2189],{"class":2116}," 3500",[682,2191,906],{"class":692},[682,2193,2194,2196,2199,2201,2203,2206],{"class":684,"line":834},[682,2195,2105],{"class":692},[682,2197,2198],{"class":2108},"outputTokens",[682,2200,2096],{"class":692},[682,2202,884],{"class":692},[682,2204,2205],{"class":2116}," 800",[682,2207,906],{"class":692},[682,2209,2210,2212,2215,2217,2219,2222],{"class":684,"line":853},[682,2211,2105],{"class":692},[682,2213,2214],{"class":2108},"totalTokens",[682,2216,2096],{"class":692},[682,2218,884],{"class":692},[682,2220,2221],{"class":2116}," 4300",[682,2223,906],{"class":692},[682,2225,2226,2228,2231,2233,2235,2237,2239,2242,2244,2246,2248,2251,2253],{"class":684,"line":858},[682,2227,2105],{"class":692},[682,2229,2230],{"class":2108},"toolCalls",[682,2232,2096],{"class":692},[682,2234,884],{"class":692},[682,2236,948],{"class":692},[682,2238,2096],{"class":692},[682,2240,2241],{"class":709},"getWeather",[682,2243,2096],{"class":692},[682,2245,747],{"class":692},[682,2247,2148],{"class":692},[682,2249,2250],{"class":709},"searchDB",[682,2252,2096],{"class":692},[682,2254,2255],{"class":692},"],\n",[682,2257,2258,2260,2263,2265,2267],{"class":684,"line":878},[682,2259,2105],{"class":692},[682,2261,2262],{"class":2108},"tools",[682,2264,2096],{"class":692},[682,2266,884],{"class":692},[682,2268,2269],{"class":692}," [\n",[682,2271,2272,2275,2277,2280,2282,2284,2286,2288,2290,2292,2294,2297,2299,2301,2304,2306,2308,2311,2313,2315,2318],{"class":684,"line":909},[682,2273,2274],{"class":692},"      {",[682,2276,2148],{"class":692},[682,2278,2279],{"class":2116},"name",[682,2281,2096],{"class":692},[682,2283,884],{"class":692},[682,2285,2148],{"class":692},[682,2287,2241],{"class":709},[682,2289,2096],{"class":692},[682,2291,747],{"class":692},[682,2293,2148],{"class":692},[682,2295,2296],{"class":2116},"durationMs",[682,2298,2096],{"class":692},[682,2300,884],{"class":692},[682,2302,2303],{"class":2116}," 150",[682,2305,747],{"class":692},[682,2307,2148],{"class":692},[682,2309,2310],{"class":2116},"success",[682,2312,2096],{"class":692},[682,2314,884],{"class":692},[682,2316,2317],{"class":692}," true",[682,2319,927],{"class":692},[682,2321,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2351,2353,2355,2357,2359,2361,2363],{"class":684,"line":930},[682,2323,2274],{"class":692},[682,2325,2148],{"class":692},[682,2327,2279],{"class":2116},[682,2329,2096],{"class":692},[682,2331,884],{"class":692},[682,2333,2148],{"class":692},[682,2335,2250],{"class":709},[682,2337,2096],{"class":692},[682,2339,747],{"class":692},[682,2341,2148],{"class":692},[682,2343,2296],{"class":2116},[682,2345,2096],{"class":692},[682,2347,884],{"class":692},[682,2349,2350],{"class":2116}," 45",[682,2352,747],{"class":692},[682,2354,2148],{"class":692},[682,2356,2310],{"class":2116},[682,2358,2096],{"class":692},[682,2360,884],{"class":692},[682,2362,2317],{"class":692},[682,2364,1002],{"class":692},[682,2366,2367],{"class":684,"line":940},[682,2368,2369],{"class":692},"    ],\n",[682,2371,2372,2374,2377,2379,2381,2384],{"class":684,"line":963},[682,2373,2105],{"class":692},[682,2375,2376],{"class":2108},"totalDurationMs",[682,2378,2096],{"class":692},[682,2380,884],{"class":692},[682,2382,2383],{"class":2116}," 2340",[682,2385,906],{"class":692},[682,2387,2388,2390,2393,2395,2397,2400],{"class":684,"line":969},[682,2389,2105],{"class":692},[682,2391,2392],{"class":2108},"msToFirstChunk",[682,2394,2096],{"class":692},[682,2396,884],{"class":692},[682,2398,2399],{"class":2116}," 180",[682,2401,906],{"class":692},[682,2403,2404,2406,2409,2411,2413,2416],{"class":684,"line":977},[682,2405,2105],{"class":692},[682,2407,2408],{"class":2108},"msToFinish",[682,2410,2096],{"class":692},[682,2412,884],{"class":692},[682,2414,2415],{"class":2116}," 2100",[682,2417,906],{"class":692},[682,2419,2420,2422,2425,2427,2429],{"class":684,"line":982},[682,2421,2105],{"class":692},[682,2423,2424],{"class":2108},"tokensPerSecond",[682,2426,2096],{"class":692},[682,2428,884],{"class":692},[682,2430,2431],{"class":2116}," 380\n",[682,2433,2434],{"class":684,"line":1005},[682,2435,2436],{"class":692},"  }\n",[682,2438,2439],{"class":684,"line":1278},[682,2440,2441],{"class":692},"}\n",[653,2443,2445],{"id":2444},"standalone-without-middleware","Standalone (without middleware)",[619,2447,2448],{},"If your model is already wrapped (e.g. by another middleware), pass the request logger directly:",[672,2450,2453],{"className":674,"code":2451,"filename":2452,"language":676,"meta":678,"style":678},"import { createEvlogIntegration } from 'evlog\u002Fai'\n\nconst integration = createEvlogIntegration(log)\n\nconst result = await generateText({\n  model: somePreWrappedModel,\n  telemetry: {\n    integrations: [integration],\n  },\n})\n","server\u002Fapi\u002Fchat.post.ts",[622,2454,2455,2473,2477,2492,2496,2513,2525,2534,2546,2551],{"__ignoreMap":678},[682,2456,2457,2459,2461,2463,2465,2467,2469,2471],{"class":684,"line":685},[682,2458,689],{"class":688},[682,2460,693],{"class":692},[682,2462,750],{"class":696},[682,2464,700],{"class":692},[682,2466,703],{"class":688},[682,2468,706],{"class":692},[682,2470,759],{"class":709},[682,2472,713],{"class":692},[682,2474,2475],{"class":684,"line":716},[682,2476,768],{"emptyLinePlaceholder":767},[682,2478,2479,2482,2485,2487,2489],{"class":684,"line":737},[682,2480,2481],{"class":787},"const",[682,2483,2484],{"class":696}," integration ",[682,2486,1369],{"class":692},[682,2488,750],{"class":780},[682,2490,2491],{"class":696},"(log)\n",[682,2493,2494],{"class":684,"line":764},[682,2495,768],{"emptyLinePlaceholder":767},[682,2497,2498,2500,2503,2505,2507,2509,2511],{"class":684,"line":771},[682,2499,2481],{"class":787},[682,2501,2502],{"class":696}," result ",[682,2504,1369],{"class":692},[682,2506,868],{"class":688},[682,2508,723],{"class":780},[682,2510,784],{"class":696},[682,2512,875],{"class":692},[682,2514,2515,2518,2520,2523],{"class":684,"line":807},[682,2516,2517],{"class":821},"  model",[682,2519,884],{"class":692},[682,2521,2522],{"class":696}," somePreWrappedModel",[682,2524,906],{"class":692},[682,2526,2527,2530,2532],{"class":684,"line":829},[682,2528,2529],{"class":821},"  telemetry",[682,2531,884],{"class":692},[682,2533,804],{"class":692},[682,2535,2536,2539,2541,2544],{"class":684,"line":834},[682,2537,2538],{"class":821},"    integrations",[682,2540,884],{"class":692},[682,2542,2543],{"class":696}," [integration]",[682,2545,906],{"class":692},[682,2547,2548],{"class":684,"line":853},[682,2549,2550],{"class":692},"  },\n",[682,2552,2553,2555],{"class":684,"line":858},[682,2554,1008],{"class":692},[682,2556,826],{"class":696},[653,2558,2560],{"id":2559},"what-lands-on-the-wide-event","What lands on the wide event",[2562,2563,2564,2580],"table",{},[2565,2566,2567],"thead",{},[2568,2569,2570,2574,2577],"tr",{},[2571,2572,2573],"th",{},"Data",[2571,2575,2576],{},"Source",[2571,2578,2579],{},"Description",[2581,2582,2583,2616,2638,2661,2675],"tbody",{},[2568,2584,2585,2591,2601],{},[2586,2587,2588],"td",{},[622,2589,2590],{},"ai.tools[]",[2586,2592,2593,2596,2597,2600],{},[622,2594,2595],{},"onToolExecutionEnd"," (v7) \u002F ",[622,2598,2599],{},"onToolCallFinish"," (v6)",[2586,2602,2603,2604,2606,2607,2606,2609,2611,2612,2615],{},"Per-tool ",[622,2605,2279],{},", ",[622,2608,2296],{},[622,2610,2310],{},", and ",[622,2613,2614],{},"error"," (if failed)",[2568,2617,2618,2623,2635],{},[2586,2619,2620],{},[622,2621,2622],{},"ai.totalDurationMs",[2586,2624,2625,2628,2629,2596,2632,2600],{},[622,2626,2627],{},"onStart"," → ",[622,2630,2631],{},"onEnd",[622,2633,2634],{},"onFinish",[2586,2636,2637],{},"Total wall time from generation start to completion",[2568,2639,2640,2645,2650],{},[2586,2641,2642],{},[622,2643,2644],{},"ai.embedding",[2586,2646,2647,2649],{},[622,2648,642],{}," (v7)",[2586,2651,2652,2653,2656,2657,2660],{},"Auto-captured from ",[622,2654,2655],{},"embed()"," \u002F ",[622,2658,2659],{},"embedMany()"," when telemetry is enabled",[2568,2662,2663,2668,2672],{},[2586,2664,2665],{},[622,2666,2667],{},"ai.finishReason: 'abort'",[2586,2669,2670,2649],{},[622,2671,646],{},[2586,2673,2674],{},"Set when a streaming generation is aborted",[2568,2676,2677,2682,2688],{},[2586,2678,2679],{},[622,2680,2681],{},"ai.error",[2586,2683,2684,2656,2686,2649],{},[622,2685,646],{},[622,2687,650],{},[2586,2689,2690],{},"Abort reason or unrecoverable generation error",[619,2692,2693],{},"The middleware captures tokens, model info, and streaming metrics. The integration captures tool execution timing. Together, they give you complete AI observability.",[653,2695,2697],{"id":2696},"compose-it-with-the-rest","Compose it with the rest",[619,2699,2700,2703,2704,884],{},[622,2701,2702],{},"ai.wrap()"," works with models that are already wrapped by other tools. If you use supermemory, guardrails middleware, or any other model wrapper, pass the wrapped model to ",[622,2705,2702],{},[672,2707,2709],{"className":674,"code":2708,"filename":2452,"language":676,"meta":678,"style":678},"import { createAILogger } from 'evlog\u002Fai'\nimport { withSupermemory } from '@supermemory\u002Ftools\u002Fai-sdk'\nimport { createGateway } from 'ai'\n\nconst gateway = createGateway({ ... })\nconst ai = createAILogger(log)\nconst base = gateway('anthropic\u002Fclaude-sonnet-4.6')\nconst model = ai.wrap(withSupermemory(base, 'your-org-id', { mode: 'full' }))\n",[622,2710,2711,2729,2749,2768,2772,2794,2807,2829],{"__ignoreMap":678},[682,2712,2713,2715,2717,2719,2721,2723,2725,2727],{"class":684,"line":685},[682,2714,689],{"class":688},[682,2716,693],{"class":692},[682,2718,744],{"class":696},[682,2720,700],{"class":692},[682,2722,703],{"class":688},[682,2724,706],{"class":692},[682,2726,759],{"class":709},[682,2728,713],{"class":692},[682,2730,2731,2733,2735,2738,2740,2742,2744,2747],{"class":684,"line":716},[682,2732,689],{"class":688},[682,2734,693],{"class":692},[682,2736,2737],{"class":696}," withSupermemory",[682,2739,700],{"class":692},[682,2741,703],{"class":688},[682,2743,706],{"class":692},[682,2745,2746],{"class":709},"@supermemory\u002Ftools\u002Fai-sdk",[682,2748,713],{"class":692},[682,2750,2751,2753,2755,2758,2760,2762,2764,2766],{"class":684,"line":737},[682,2752,689],{"class":688},[682,2754,693],{"class":692},[682,2756,2757],{"class":696}," createGateway",[682,2759,700],{"class":692},[682,2761,703],{"class":688},[682,2763,706],{"class":692},[682,2765,732],{"class":709},[682,2767,713],{"class":692},[682,2769,2770],{"class":684,"line":764},[682,2771,768],{"emptyLinePlaceholder":767},[682,2773,2774,2776,2779,2781,2783,2785,2787,2790,2792],{"class":684,"line":771},[682,2775,2481],{"class":787},[682,2777,2778],{"class":696}," gateway ",[682,2780,1369],{"class":692},[682,2782,2757],{"class":780},[682,2784,784],{"class":696},[682,2786,1532],{"class":692},[682,2788,2789],{"class":692}," ...",[682,2791,700],{"class":692},[682,2793,826],{"class":696},[682,2795,2796,2798,2801,2803,2805],{"class":684,"line":807},[682,2797,2481],{"class":787},[682,2799,2800],{"class":696}," ai ",[682,2802,1369],{"class":692},[682,2804,744],{"class":780},[682,2806,2491],{"class":696},[682,2808,2809,2811,2814,2816,2819,2821,2823,2825,2827],{"class":684,"line":829},[682,2810,2481],{"class":787},[682,2812,2813],{"class":696}," base ",[682,2815,1369],{"class":692},[682,2817,2818],{"class":780}," gateway",[682,2820,784],{"class":696},[682,2822,896],{"class":692},[682,2824,899],{"class":709},[682,2826,896],{"class":692},[682,2828,826],{"class":696},[682,2830,2831,2833,2836,2838,2840,2842,2844,2846,2849,2852,2854,2856,2859,2861,2863,2865,2868,2870,2872,2875,2877,2879],{"class":684,"line":834},[682,2832,2481],{"class":787},[682,2834,2835],{"class":696}," model ",[682,2837,1369],{"class":692},[682,2839,839],{"class":696},[682,2841,651],{"class":692},[682,2843,891],{"class":780},[682,2845,784],{"class":696},[682,2847,2848],{"class":780},"withSupermemory",[682,2850,2851],{"class":696},"(base",[682,2853,747],{"class":692},[682,2855,706],{"class":692},[682,2857,2858],{"class":709},"your-org-id",[682,2860,896],{"class":692},[682,2862,747],{"class":692},[682,2864,693],{"class":692},[682,2866,2867],{"class":821}," mode",[682,2869,884],{"class":692},[682,2871,706],{"class":692},[682,2873,2874],{"class":709},"full",[682,2876,896],{"class":692},[682,2878,700],{"class":692},[682,2880,2881],{"class":696},"))\n",[619,2883,2884,2885,2888,2889,884],{},"For explicit middleware composition, use ",[622,2886,2887],{},"createAIMiddleware"," to get the raw middleware and compose it yourself via ",[622,2890,2891],{},"wrapLanguageModel",[672,2893,2895],{"className":674,"code":2894,"filename":2452,"language":676,"meta":678,"style":678},"import { createAIMiddleware } from 'evlog\u002Fai'\nimport { wrapLanguageModel } from 'ai'\n\nconst model = wrapLanguageModel({\n  model: base,\n  middleware: [createAIMiddleware(log, { toolInputs: true }), otherMiddleware],\n})\n",[622,2896,2897,2916,2935,2939,2953,2964,3001],{"__ignoreMap":678},[682,2898,2899,2901,2903,2906,2908,2910,2912,2914],{"class":684,"line":685},[682,2900,689],{"class":688},[682,2902,693],{"class":692},[682,2904,2905],{"class":696}," createAIMiddleware",[682,2907,700],{"class":692},[682,2909,703],{"class":688},[682,2911,706],{"class":692},[682,2913,759],{"class":709},[682,2915,713],{"class":692},[682,2917,2918,2920,2922,2925,2927,2929,2931,2933],{"class":684,"line":716},[682,2919,689],{"class":688},[682,2921,693],{"class":692},[682,2923,2924],{"class":696}," wrapLanguageModel",[682,2926,700],{"class":692},[682,2928,703],{"class":688},[682,2930,706],{"class":692},[682,2932,732],{"class":709},[682,2934,713],{"class":692},[682,2936,2937],{"class":684,"line":737},[682,2938,768],{"emptyLinePlaceholder":767},[682,2940,2941,2943,2945,2947,2949,2951],{"class":684,"line":764},[682,2942,2481],{"class":787},[682,2944,2835],{"class":696},[682,2946,1369],{"class":692},[682,2948,2924],{"class":780},[682,2950,784],{"class":696},[682,2952,875],{"class":692},[682,2954,2955,2957,2959,2962],{"class":684,"line":771},[682,2956,2517],{"class":821},[682,2958,884],{"class":692},[682,2960,2961],{"class":696}," base",[682,2963,906],{"class":692},[682,2965,2966,2969,2971,2973,2975,2978,2980,2982,2985,2987,2990,2992,2994,2996,2999],{"class":684,"line":807},[682,2967,2968],{"class":821},"  middleware",[682,2970,884],{"class":692},[682,2972,948],{"class":696},[682,2974,2887],{"class":780},[682,2976,2977],{"class":696},"(log",[682,2979,747],{"class":692},[682,2981,693],{"class":692},[682,2983,2984],{"class":821}," toolInputs",[682,2986,884],{"class":692},[682,2988,2317],{"class":2989},"sfNiH",[682,2991,700],{"class":692},[682,2993,798],{"class":696},[682,2995,747],{"class":692},[682,2997,2998],{"class":696}," otherMiddleware]",[682,3000,906],{"class":692},[682,3002,3003,3005],{"class":684,"line":829},[682,3004,1008],{"class":692},[682,3006,826],{"class":696},[619,3008,3009,3011,3012,3014,3015,3017,3018,3021,3022,3024,3025,3027],{},[622,3010,2887],{}," returns the same middleware that ",[622,3013,624],{}," uses internally. The difference: ",[622,3016,2887],{}," does not include ",[622,3019,3020],{},"captureEmbed"," (embedding models don't use middleware). Use ",[622,3023,624],{}," for the full API, ",[622,3026,2887],{}," when you need explicit middleware ordering.",[3029,3030,3031],"style",{},"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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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":678,"searchDepth":716,"depth":716,"links":3033},[3034,3035,3036,3037],{"id":655,"depth":716,"text":656},{"id":2444,"depth":716,"text":2445},{"id":2559,"depth":716,"text":2560},{"id":2696,"depth":716,"text":2697},"Add tool execution timing and total wall time with createEvlogIntegration. Compose with other middleware like supermemory or guardrails.","md",[3041,3044],{"label":41,"icon":44,"to":348,"color":3042,"variant":3043},"neutral","subtle",{"label":3045,"icon":354,"to":352,"color":3042,"variant":3043},"Usage Patterns",{},{"title":366,"icon":147},{"title":614,"description":3038},"1RZGUmfJdjgnj6Y42eYB5Iedqm5cxF65OVWymITc5c8",[3051,3053],{"title":361,"path":362,"stem":363,"description":3052,"icon":364,"children":-1},"Read AI metadata from your handler — persist it, surface it to end-users, bill against it, or stream incremental progress to the client.",{"title":41,"path":376,"stem":377,"description":3054,"icon":44,"children":-1},"Identify the user on authenticated requests, so each wide event carries who made it without a manual log.set call.",1791705338465]