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