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