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