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