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