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