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