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