[{"data":1,"prerenderedAt":7979},["ShallowReactive",2],{"navigation_docs":3,"-use-cases-ai-sdk-usage":602,"-use-cases-ai-sdk-usage-surround":7974},[4,35,85,138,318,479,538,577],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Start","\u002Fstart","1.start",[9,14,19,24,29],{"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",{"title":30,"path":31,"stem":32,"icon":33},"Choose your logger","\u002Fstart\u002Ftypescript-logging-library","1.start\u002F5.typescript-logging-library","i-lucide-file-code",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Learn","\u002Flearn","2.learn",[40,45,50,55,60,65,70,75,80],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":56,"path":57,"stem":58,"icon":59},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":61,"path":62,"stem":63,"icon":64},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":66,"path":67,"stem":68,"icon":69},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":71,"path":72,"stem":73,"icon":74},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":76,"path":77,"stem":78,"icon":79},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":81,"path":82,"stem":83,"icon":84},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":86,"path":87,"stem":88,"children":89,"page":34},"CLI","\u002Fcli","3.cli",[90,93,98,103,108,113,118,123,128,133],{"title":41,"path":91,"stem":92,"icon":49},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":94,"path":95,"stem":96,"icon":97},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":99,"path":100,"stem":101,"icon":102},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":104,"path":105,"stem":106,"icon":107},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":109,"path":110,"stem":111,"icon":112},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":114,"path":115,"stem":116,"icon":117},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":119,"path":120,"stem":121,"icon":122},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":124,"path":125,"stem":126,"icon":127},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":129,"path":130,"stem":131,"icon":132},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":134,"path":135,"stem":136,"icon":137},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":139,"path":140,"stem":141,"children":142,"page":34},"Integrate","\u002Fintegrate","4.integrate",[143,147,230],{"title":41,"path":144,"stem":145,"icon":146},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":148,"path":149,"stem":150,"children":151,"page":34},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[152,155,185,210],{"title":41,"path":153,"stem":154,"icon":44},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":156,"path":157,"stem":158,"children":159,"page":34},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[160,165,170,175,180],{"title":161,"path":162,"stem":163,"icon":164},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":166,"path":167,"stem":168,"icon":169},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":171,"path":172,"stem":173,"icon":174},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":176,"path":177,"stem":178,"icon":179},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":181,"path":182,"stem":183,"icon":184},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":186,"path":187,"stem":188,"children":189,"page":34},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[190,195,200,205],{"title":191,"path":192,"stem":193,"icon":194},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":196,"path":197,"stem":198,"icon":199},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":201,"path":202,"stem":203,"icon":204},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":206,"path":207,"stem":208,"icon":209},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":211,"path":212,"stem":213,"children":214,"page":34},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[215,220,225],{"title":216,"path":217,"stem":218,"icon":219},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":221,"path":222,"stem":223,"icon":224},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":226,"path":227,"stem":228,"icon":229},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":231,"path":232,"stem":233,"children":234,"page":34},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[235,239,244,249,254,259,264,269,274,279,284,289,294,299,303,308,313],{"title":41,"path":236,"stem":237,"icon":238},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":240,"path":241,"stem":242,"icon":243},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":245,"path":246,"stem":247,"icon":248},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":250,"path":251,"stem":252,"icon":253},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":255,"path":256,"stem":257,"icon":258},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":260,"path":261,"stem":262,"icon":263},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":265,"path":266,"stem":267,"icon":268},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":270,"path":271,"stem":272,"icon":273},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":275,"path":276,"stem":277,"icon":278},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":280,"path":281,"stem":282,"icon":283},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":285,"path":286,"stem":287,"icon":288},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":290,"path":291,"stem":292,"icon":293},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":295,"path":296,"stem":297,"icon":298},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":300,"path":301,"stem":302,"icon":79},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":304,"path":305,"stem":306,"icon":307},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":309,"path":310,"stem":311,"icon":312},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":314,"path":315,"stem":316,"icon":317},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":319,"path":320,"stem":321,"children":322,"page":34},"Use Cases","\u002Fuse-cases","5.use-cases",[323,326,331,359,386,418,439,444,449,453],{"title":41,"path":324,"stem":325,"icon":107},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":327,"path":328,"stem":329,"icon":330},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":332,"icon":333,"path":334,"stem":335,"children":336,"page":34},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[337,340,345,350,355],{"title":41,"path":338,"stem":339,"icon":44},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":341,"path":342,"stem":343,"icon":344},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":346,"path":347,"stem":348,"icon":349},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":351,"path":352,"stem":353,"icon":354},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":356,"path":357,"stem":358,"icon":137},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":360,"icon":361,"path":362,"stem":363,"children":364,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[365,368,373,378,382],{"title":41,"path":366,"stem":367,"icon":44},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":369,"path":370,"stem":371,"icon":372},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":374,"path":375,"stem":376,"icon":377},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":379,"path":380,"stem":381,"icon":330},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":383,"path":384,"stem":385,"icon":112},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":387,"icon":388,"path":389,"stem":390,"children":391,"page":34},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[392,395,400,405,410,414],{"title":41,"path":393,"stem":394,"icon":44},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":396,"path":397,"stem":398,"icon":399},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":401,"path":402,"stem":403,"icon":404},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":406,"path":407,"stem":408,"icon":409},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":411,"path":412,"stem":413,"icon":388},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":415,"path":416,"stem":417,"icon":84},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":356,"icon":112,"path":419,"stem":420,"children":421,"page":34},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[422,425,430,435],{"title":41,"path":423,"stem":424,"icon":44},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":426,"path":427,"stem":428,"icon":429},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":431,"path":432,"stem":433,"icon":434},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":436,"path":437,"stem":438,"icon":84},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":440,"path":441,"stem":442,"icon":443},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":445,"path":446,"stem":447,"icon":448},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":450,"path":451,"stem":452,"icon":434},"Node.js request logging","\u002Fuse-cases\u002Fstructured-logging-nodejs","5.use-cases\u002F6.structured-logging-nodejs",{"title":454,"icon":455,"path":456,"stem":457,"children":458,"page":34},"Signals","i-lucide-scan-search","\u002Fuse-cases\u002Fsignals","5.use-cases\u002F7.signals",[459,462,467,472,475],{"title":41,"path":460,"stem":461,"icon":44},"\u002Fuse-cases\u002Fsignals\u002Foverview","5.use-cases\u002F7.signals\u002F01.overview",{"title":463,"path":464,"stem":465,"icon":466},"What You Can Ask","\u002Fuse-cases\u002Fsignals\u002Fask","5.use-cases\u002F7.signals\u002F02.ask","i-lucide-message-circle-question",{"title":468,"path":469,"stem":470,"icon":471},"What It Costs","\u002Fuse-cases\u002Fsignals\u002Fcost","5.use-cases\u002F7.signals\u002F03.cost","i-lucide-coins",{"title":436,"path":473,"stem":474,"icon":84},"\u002Fuse-cases\u002Fsignals\u002Freference","5.use-cases\u002F7.signals\u002F04.reference",{"title":415,"path":476,"stem":477,"icon":478},"\u002Fuse-cases\u002Fsignals\u002Frecipes","5.use-cases\u002F7.signals\u002F05.recipes","i-lucide-lightbulb",{"title":480,"path":481,"stem":482,"children":483,"page":34},"Extend","\u002Fextend","6.extend",[484,488,493,498,502,507,511,515,519,523,528,533],{"title":41,"path":485,"stem":486,"icon":487},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":489,"path":490,"stem":491,"icon":492},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":494,"path":495,"stem":496,"icon":497},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":499,"path":500,"stem":501,"icon":492},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":503,"path":504,"stem":505,"icon":506},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":415,"path":508,"stem":509,"icon":510},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":512,"path":513,"stem":514,"icon":487},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":516,"path":517,"stem":518,"icon":443},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":520,"path":521,"stem":522,"icon":69},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":524,"path":525,"stem":526,"icon":527},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":529,"path":530,"stem":531,"icon":532},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":534,"path":535,"stem":536,"icon":537},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":436,"path":539,"stem":540,"children":541,"page":34},"\u002Freference","7.reference",[542,546,551,554,559,563,568,572],{"title":41,"path":543,"stem":544,"icon":545},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":547,"path":548,"stem":549,"icon":550},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":383,"path":552,"stem":553,"icon":112},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":555,"path":556,"stem":557,"icon":558},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":560,"path":561,"stem":562,"icon":388},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":564,"path":565,"stem":566,"icon":567},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":569,"path":570,"stem":571,"icon":443},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":573,"path":574,"stem":575,"icon":576},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":578,"path":579,"stem":580,"children":581,"page":34},"Compare","\u002Fcompare","8.compare",[582,586,590,594,598],{"title":583,"path":584,"stem":585,"icon":567},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":587,"path":588,"stem":589,"icon":204},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":591,"path":592,"stem":593,"icon":567},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":595,"path":596,"stem":597,"icon":567},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":599,"path":600,"stem":601,"icon":567},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":603,"title":604,"body":605,"description":7963,"extension":7964,"links":7965,"meta":7970,"navigation":7971,"path":342,"seo":7972,"stem":343,"__hash__":7973},"docs\u002F5.use-cases\u002F2.ai-sdk\u002F02.usage.md","Usage Patterns",{"type":606,"value":607,"toc":7955},"minimark",[608,621,632,637,640,2247,2254,2258,2261,3376,3380,3383,4931,4934,5554,5565,5569,5576,7424,7431,7552,7556,7566,7874,7878,7892,7951],[609,610,611,612,616,617,620],"p",{},"Every pattern below uses the same ",[613,614,615],"code",{},"createAILogger(log)"," setup. Wrap the model with ",[613,618,619],{},"ai.wrap()"," and the middleware accumulates tokens, tools, and timing on the wide event automatically.",[609,622,623,624,627,628,631],{},"On Next.js, Nuxt\u002FNitro, SvelteKit, Hono, React Router, and oRPC, evlog defers wide-event emit for streaming responses (for example ",[613,625,626],{},"text\u002Fevent-stream"," and AI SDK UI streams) until the body finishes, so late ",[613,629,630],{},"ai"," metadata stays on the same request event.",[633,634,636],"h2",{"id":635},"streamtext","streamText",[609,638,639],{},"The most common pattern is streaming chat with full observability:",[641,642,643,1033,1347,1657,1959],"framework-tabs",{},[644,645,651],"pre",{"className":646,"code":647,"filename":240,"language":648,"meta":649,"style":650},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { useLogger } from 'evlog'\nimport { streamText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\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","typescript","server\u002Fapi\u002Fchat.post.ts","",[613,652,653,686,706,727,734,770,792,797,816,842,847,897,902,919,948,956,977,990,996,1004,1009,1025],{"__ignoreMap":650},[654,655,658,662,666,670,673,676,679,683],"span",{"class":656,"line":657},"line",1,[654,659,661],{"class":660},"s7zQu","import",[654,663,665],{"class":664},"sMK4o"," {",[654,667,669],{"class":668},"sTEyZ"," useLogger",[654,671,672],{"class":664}," }",[654,674,675],{"class":660}," from",[654,677,678],{"class":664}," '",[654,680,682],{"class":681},"sfazB","evlog",[654,684,685],{"class":664},"'\n",[654,687,689,691,693,696,698,700,702,704],{"class":656,"line":688},2,[654,690,661],{"class":660},[654,692,665],{"class":664},[654,694,695],{"class":668}," streamText",[654,697,672],{"class":664},[654,699,675],{"class":660},[654,701,678],{"class":664},[654,703,630],{"class":681},[654,705,685],{"class":664},[654,707,709,711,713,716,718,720,722,725],{"class":656,"line":708},3,[654,710,661],{"class":660},[654,712,665],{"class":664},[654,714,715],{"class":668}," createAILogger",[654,717,672],{"class":664},[654,719,675],{"class":660},[654,721,678],{"class":664},[654,723,724],{"class":681},"evlog\u002Fai",[654,726,685],{"class":664},[654,728,730],{"class":656,"line":729},4,[654,731,733],{"emptyLinePlaceholder":732},true,"\n",[654,735,737,740,743,747,750,754,757,761,764,767],{"class":656,"line":736},5,[654,738,739],{"class":660},"export",[654,741,742],{"class":660}," default",[654,744,746],{"class":745},"s2Zo4"," defineEventHandler",[654,748,749],{"class":668},"(",[654,751,753],{"class":752},"spNyl","async",[654,755,756],{"class":664}," (",[654,758,760],{"class":759},"sHdIc","event",[654,762,763],{"class":664},")",[654,765,766],{"class":752}," =>",[654,768,769],{"class":664}," {\n",[654,771,773,776,779,782,784,787,789],{"class":656,"line":772},6,[654,774,775],{"class":752},"  const",[654,777,778],{"class":668}," log",[654,780,781],{"class":664}," =",[654,783,669],{"class":745},[654,785,749],{"class":786},"swJcz",[654,788,760],{"class":668},[654,790,791],{"class":786},")\n",[654,793,795],{"class":656,"line":794},7,[654,796,733],{"emptyLinePlaceholder":732},[654,798,800,802,805,807,809,811,814],{"class":656,"line":799},8,[654,801,775],{"class":752},[654,803,804],{"class":668}," ai",[654,806,781],{"class":664},[654,808,715],{"class":745},[654,810,749],{"class":786},[654,812,813],{"class":668},"log",[654,815,791],{"class":786},[654,817,819,821,823,826,828,830,833,836,838,840],{"class":656,"line":818},9,[654,820,775],{"class":752},[654,822,665],{"class":664},[654,824,825],{"class":668}," messages",[654,827,672],{"class":664},[654,829,781],{"class":664},[654,831,832],{"class":660}," await",[654,834,835],{"class":745}," readBody",[654,837,749],{"class":786},[654,839,760],{"class":668},[654,841,791],{"class":786},[654,843,845],{"class":656,"line":844},10,[654,846,733],{"emptyLinePlaceholder":732},[654,848,850,853,856,859,861,864,867,870,872,875,878,881,884,886,888,890,893,895],{"class":656,"line":849},11,[654,851,852],{"class":668},"  log",[654,854,855],{"class":664},".",[654,857,858],{"class":745},"set",[654,860,749],{"class":786},[654,862,863],{"class":664},"{",[654,865,866],{"class":786}," action",[654,868,869],{"class":664},":",[654,871,678],{"class":664},[654,873,874],{"class":681},"chat",[654,876,877],{"class":664},"'",[654,879,880],{"class":664},",",[654,882,883],{"class":786}," messagesCount",[654,885,869],{"class":664},[654,887,825],{"class":668},[654,889,855],{"class":664},[654,891,892],{"class":668},"length",[654,894,672],{"class":664},[654,896,791],{"class":786},[654,898,900],{"class":656,"line":899},12,[654,901,733],{"emptyLinePlaceholder":732},[654,903,905,907,910,912,914,916],{"class":656,"line":904},13,[654,906,775],{"class":752},[654,908,909],{"class":668}," result",[654,911,781],{"class":664},[654,913,695],{"class":745},[654,915,749],{"class":786},[654,917,918],{"class":664},"{\n",[654,920,922,925,927,929,931,934,936,938,941,943,945],{"class":656,"line":921},14,[654,923,924],{"class":786},"    model",[654,926,869],{"class":664},[654,928,804],{"class":668},[654,930,855],{"class":664},[654,932,933],{"class":745},"wrap",[654,935,749],{"class":786},[654,937,877],{"class":664},[654,939,940],{"class":681},"anthropic\u002Fclaude-sonnet-4.6",[654,942,877],{"class":664},[654,944,763],{"class":786},[654,946,947],{"class":664},",\n",[654,949,951,954],{"class":656,"line":950},15,[654,952,953],{"class":668},"    messages",[654,955,947],{"class":664},[654,957,959,962,964,967,970,973,975],{"class":656,"line":958},16,[654,960,961],{"class":745},"    onFinish",[654,963,869],{"class":664},[654,965,966],{"class":664}," ({",[654,968,969],{"class":759}," text",[654,971,972],{"class":664}," })",[654,974,766],{"class":752},[654,976,769],{"class":664},[654,978,980,983,985,988],{"class":656,"line":979},17,[654,981,982],{"class":745},"      saveConversation",[654,984,749],{"class":786},[654,986,987],{"class":668},"text",[654,989,791],{"class":786},[654,991,993],{"class":656,"line":992},18,[654,994,995],{"class":664},"    },\n",[654,997,999,1002],{"class":656,"line":998},19,[654,1000,1001],{"class":664},"  }",[654,1003,791],{"class":786},[654,1005,1007],{"class":656,"line":1006},20,[654,1008,733],{"emptyLinePlaceholder":732},[654,1010,1012,1015,1017,1019,1022],{"class":656,"line":1011},21,[654,1013,1014],{"class":660},"  return",[654,1016,909],{"class":668},[654,1018,855],{"class":664},[654,1020,1021],{"class":745},"toTextStreamResponse",[654,1023,1024],{"class":786},"()\n",[654,1026,1028,1031],{"class":656,"line":1027},22,[654,1029,1030],{"class":664},"}",[654,1032,791],{"class":668},[644,1034,1037],{"className":646,"code":1035,"filename":255,"language":648,"meta":1036,"style":650},"import { defineHandler } from 'nitro\u002Fh3'\nimport { useLogger } from 'evlog\u002Fnitro\u002Fv3'\nimport { streamText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n\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","routes\u002Fapi\u002Fchat.post.ts",[613,1038,1039,1059,1078,1096,1114,1118,1140,1156,1160,1176,1198,1202,1240,1244,1258,1282,1288,1304,1314,1318,1324,1328,1340],{"__ignoreMap":650},[654,1040,1041,1043,1045,1048,1050,1052,1054,1057],{"class":656,"line":657},[654,1042,661],{"class":660},[654,1044,665],{"class":664},[654,1046,1047],{"class":668}," defineHandler",[654,1049,672],{"class":664},[654,1051,675],{"class":660},[654,1053,678],{"class":664},[654,1055,1056],{"class":681},"nitro\u002Fh3",[654,1058,685],{"class":664},[654,1060,1061,1063,1065,1067,1069,1071,1073,1076],{"class":656,"line":688},[654,1062,661],{"class":660},[654,1064,665],{"class":664},[654,1066,669],{"class":668},[654,1068,672],{"class":664},[654,1070,675],{"class":660},[654,1072,678],{"class":664},[654,1074,1075],{"class":681},"evlog\u002Fnitro\u002Fv3",[654,1077,685],{"class":664},[654,1079,1080,1082,1084,1086,1088,1090,1092,1094],{"class":656,"line":708},[654,1081,661],{"class":660},[654,1083,665],{"class":664},[654,1085,695],{"class":668},[654,1087,672],{"class":664},[654,1089,675],{"class":660},[654,1091,678],{"class":664},[654,1093,630],{"class":681},[654,1095,685],{"class":664},[654,1097,1098,1100,1102,1104,1106,1108,1110,1112],{"class":656,"line":729},[654,1099,661],{"class":660},[654,1101,665],{"class":664},[654,1103,715],{"class":668},[654,1105,672],{"class":664},[654,1107,675],{"class":660},[654,1109,678],{"class":664},[654,1111,724],{"class":681},[654,1113,685],{"class":664},[654,1115,1116],{"class":656,"line":736},[654,1117,733],{"emptyLinePlaceholder":732},[654,1119,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138],{"class":656,"line":772},[654,1121,739],{"class":660},[654,1123,742],{"class":660},[654,1125,1047],{"class":745},[654,1127,749],{"class":668},[654,1129,753],{"class":752},[654,1131,756],{"class":664},[654,1133,760],{"class":759},[654,1135,763],{"class":664},[654,1137,766],{"class":752},[654,1139,769],{"class":664},[654,1141,1142,1144,1146,1148,1150,1152,1154],{"class":656,"line":794},[654,1143,775],{"class":752},[654,1145,778],{"class":668},[654,1147,781],{"class":664},[654,1149,669],{"class":745},[654,1151,749],{"class":786},[654,1153,760],{"class":668},[654,1155,791],{"class":786},[654,1157,1158],{"class":656,"line":799},[654,1159,733],{"emptyLinePlaceholder":732},[654,1161,1162,1164,1166,1168,1170,1172,1174],{"class":656,"line":818},[654,1163,775],{"class":752},[654,1165,804],{"class":668},[654,1167,781],{"class":664},[654,1169,715],{"class":745},[654,1171,749],{"class":786},[654,1173,813],{"class":668},[654,1175,791],{"class":786},[654,1177,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196],{"class":656,"line":844},[654,1179,775],{"class":752},[654,1181,665],{"class":664},[654,1183,825],{"class":668},[654,1185,672],{"class":664},[654,1187,781],{"class":664},[654,1189,832],{"class":660},[654,1191,835],{"class":745},[654,1193,749],{"class":786},[654,1195,760],{"class":668},[654,1197,791],{"class":786},[654,1199,1200],{"class":656,"line":849},[654,1201,733],{"emptyLinePlaceholder":732},[654,1203,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238],{"class":656,"line":899},[654,1205,852],{"class":668},[654,1207,855],{"class":664},[654,1209,858],{"class":745},[654,1211,749],{"class":786},[654,1213,863],{"class":664},[654,1215,866],{"class":786},[654,1217,869],{"class":664},[654,1219,678],{"class":664},[654,1221,874],{"class":681},[654,1223,877],{"class":664},[654,1225,880],{"class":664},[654,1227,883],{"class":786},[654,1229,869],{"class":664},[654,1231,825],{"class":668},[654,1233,855],{"class":664},[654,1235,892],{"class":668},[654,1237,672],{"class":664},[654,1239,791],{"class":786},[654,1241,1242],{"class":656,"line":904},[654,1243,733],{"emptyLinePlaceholder":732},[654,1245,1246,1248,1250,1252,1254,1256],{"class":656,"line":921},[654,1247,775],{"class":752},[654,1249,909],{"class":668},[654,1251,781],{"class":664},[654,1253,695],{"class":745},[654,1255,749],{"class":786},[654,1257,918],{"class":664},[654,1259,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280],{"class":656,"line":950},[654,1261,924],{"class":786},[654,1263,869],{"class":664},[654,1265,804],{"class":668},[654,1267,855],{"class":664},[654,1269,933],{"class":745},[654,1271,749],{"class":786},[654,1273,877],{"class":664},[654,1275,940],{"class":681},[654,1277,877],{"class":664},[654,1279,763],{"class":786},[654,1281,947],{"class":664},[654,1283,1284,1286],{"class":656,"line":958},[654,1285,953],{"class":668},[654,1287,947],{"class":664},[654,1289,1290,1292,1294,1296,1298,1300,1302],{"class":656,"line":979},[654,1291,961],{"class":745},[654,1293,869],{"class":664},[654,1295,966],{"class":664},[654,1297,969],{"class":759},[654,1299,972],{"class":664},[654,1301,766],{"class":752},[654,1303,769],{"class":664},[654,1305,1306,1308,1310,1312],{"class":656,"line":992},[654,1307,982],{"class":745},[654,1309,749],{"class":786},[654,1311,987],{"class":668},[654,1313,791],{"class":786},[654,1315,1316],{"class":656,"line":998},[654,1317,995],{"class":664},[654,1319,1320,1322],{"class":656,"line":1006},[654,1321,1001],{"class":664},[654,1323,791],{"class":786},[654,1325,1326],{"class":656,"line":1011},[654,1327,733],{"emptyLinePlaceholder":732},[654,1329,1330,1332,1334,1336,1338],{"class":656,"line":1027},[654,1331,1014],{"class":660},[654,1333,909],{"class":668},[654,1335,855],{"class":664},[654,1337,1021],{"class":745},[654,1339,1024],{"class":786},[654,1341,1343,1345],{"class":656,"line":1342},23,[654,1344,1030],{"class":664},[654,1346,791],{"class":668},[644,1348,1351],{"className":646,"code":1349,"filename":245,"language":648,"meta":1350,"style":650},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { streamText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport const POST = withEvlog(async (request: Request) => {\n  const log = useLogger()\n\n  const ai = createAILogger(log)\n  const { messages } = await request.json()\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","app\u002Fapi\u002Fchat\u002Froute.ts",[613,1352,1353,1377,1395,1413,1417,1453,1465,1469,1485,1509,1513,1551,1555,1569,1593,1599,1615,1625,1629,1635,1639,1651],{"__ignoreMap":650},[654,1354,1355,1357,1359,1362,1364,1366,1368,1370,1372,1375],{"class":656,"line":657},[654,1356,661],{"class":660},[654,1358,665],{"class":664},[654,1360,1361],{"class":668}," withEvlog",[654,1363,880],{"class":664},[654,1365,669],{"class":668},[654,1367,672],{"class":664},[654,1369,675],{"class":660},[654,1371,678],{"class":664},[654,1373,1374],{"class":681},"@\u002Flib\u002Fevlog",[654,1376,685],{"class":664},[654,1378,1379,1381,1383,1385,1387,1389,1391,1393],{"class":656,"line":688},[654,1380,661],{"class":660},[654,1382,665],{"class":664},[654,1384,695],{"class":668},[654,1386,672],{"class":664},[654,1388,675],{"class":660},[654,1390,678],{"class":664},[654,1392,630],{"class":681},[654,1394,685],{"class":664},[654,1396,1397,1399,1401,1403,1405,1407,1409,1411],{"class":656,"line":708},[654,1398,661],{"class":660},[654,1400,665],{"class":664},[654,1402,715],{"class":668},[654,1404,672],{"class":664},[654,1406,675],{"class":660},[654,1408,678],{"class":664},[654,1410,724],{"class":681},[654,1412,685],{"class":664},[654,1414,1415],{"class":656,"line":729},[654,1416,733],{"emptyLinePlaceholder":732},[654,1418,1419,1421,1424,1427,1430,1432,1434,1436,1438,1441,1443,1447,1449,1451],{"class":656,"line":736},[654,1420,739],{"class":660},[654,1422,1423],{"class":752}," const",[654,1425,1426],{"class":668}," POST ",[654,1428,1429],{"class":664},"=",[654,1431,1361],{"class":745},[654,1433,749],{"class":668},[654,1435,753],{"class":752},[654,1437,756],{"class":664},[654,1439,1440],{"class":759},"request",[654,1442,869],{"class":664},[654,1444,1446],{"class":1445},"sBMFI"," Request",[654,1448,763],{"class":664},[654,1450,766],{"class":752},[654,1452,769],{"class":664},[654,1454,1455,1457,1459,1461,1463],{"class":656,"line":772},[654,1456,775],{"class":752},[654,1458,778],{"class":668},[654,1460,781],{"class":664},[654,1462,669],{"class":745},[654,1464,1024],{"class":786},[654,1466,1467],{"class":656,"line":794},[654,1468,733],{"emptyLinePlaceholder":732},[654,1470,1471,1473,1475,1477,1479,1481,1483],{"class":656,"line":799},[654,1472,775],{"class":752},[654,1474,804],{"class":668},[654,1476,781],{"class":664},[654,1478,715],{"class":745},[654,1480,749],{"class":786},[654,1482,813],{"class":668},[654,1484,791],{"class":786},[654,1486,1487,1489,1491,1493,1495,1497,1499,1502,1504,1507],{"class":656,"line":818},[654,1488,775],{"class":752},[654,1490,665],{"class":664},[654,1492,825],{"class":668},[654,1494,672],{"class":664},[654,1496,781],{"class":664},[654,1498,832],{"class":660},[654,1500,1501],{"class":668}," request",[654,1503,855],{"class":664},[654,1505,1506],{"class":745},"json",[654,1508,1024],{"class":786},[654,1510,1511],{"class":656,"line":844},[654,1512,733],{"emptyLinePlaceholder":732},[654,1514,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549],{"class":656,"line":849},[654,1516,852],{"class":668},[654,1518,855],{"class":664},[654,1520,858],{"class":745},[654,1522,749],{"class":786},[654,1524,863],{"class":664},[654,1526,866],{"class":786},[654,1528,869],{"class":664},[654,1530,678],{"class":664},[654,1532,874],{"class":681},[654,1534,877],{"class":664},[654,1536,880],{"class":664},[654,1538,883],{"class":786},[654,1540,869],{"class":664},[654,1542,825],{"class":668},[654,1544,855],{"class":664},[654,1546,892],{"class":668},[654,1548,672],{"class":664},[654,1550,791],{"class":786},[654,1552,1553],{"class":656,"line":899},[654,1554,733],{"emptyLinePlaceholder":732},[654,1556,1557,1559,1561,1563,1565,1567],{"class":656,"line":904},[654,1558,775],{"class":752},[654,1560,909],{"class":668},[654,1562,781],{"class":664},[654,1564,695],{"class":745},[654,1566,749],{"class":786},[654,1568,918],{"class":664},[654,1570,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591],{"class":656,"line":921},[654,1572,924],{"class":786},[654,1574,869],{"class":664},[654,1576,804],{"class":668},[654,1578,855],{"class":664},[654,1580,933],{"class":745},[654,1582,749],{"class":786},[654,1584,877],{"class":664},[654,1586,940],{"class":681},[654,1588,877],{"class":664},[654,1590,763],{"class":786},[654,1592,947],{"class":664},[654,1594,1595,1597],{"class":656,"line":950},[654,1596,953],{"class":668},[654,1598,947],{"class":664},[654,1600,1601,1603,1605,1607,1609,1611,1613],{"class":656,"line":958},[654,1602,961],{"class":745},[654,1604,869],{"class":664},[654,1606,966],{"class":664},[654,1608,969],{"class":759},[654,1610,972],{"class":664},[654,1612,766],{"class":752},[654,1614,769],{"class":664},[654,1616,1617,1619,1621,1623],{"class":656,"line":979},[654,1618,982],{"class":745},[654,1620,749],{"class":786},[654,1622,987],{"class":668},[654,1624,791],{"class":786},[654,1626,1627],{"class":656,"line":992},[654,1628,995],{"class":664},[654,1630,1631,1633],{"class":656,"line":998},[654,1632,1001],{"class":664},[654,1634,791],{"class":786},[654,1636,1637],{"class":656,"line":1006},[654,1638,733],{"emptyLinePlaceholder":732},[654,1640,1641,1643,1645,1647,1649],{"class":656,"line":1011},[654,1642,1014],{"class":660},[654,1644,909],{"class":668},[654,1646,855],{"class":664},[654,1648,1021],{"class":745},[654,1650,1024],{"class":786},[654,1652,1653,1655],{"class":656,"line":1027},[654,1654,1030],{"class":664},[654,1656,791],{"class":668},[644,1658,1661],{"className":646,"code":1659,"filename":275,"language":648,"meta":1660,"style":650},"import { streamText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fchat', async (c) => {\n  const log = c.get('log')\n\n  const ai = createAILogger(log)\n  const { messages } = await c.req.json()\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","src\u002Findex.ts",[613,1662,1663,1681,1699,1703,1738,1764,1768,1784,1811,1815,1853,1857,1871,1895,1901,1917,1927,1931,1937,1941,1953],{"__ignoreMap":650},[654,1664,1665,1667,1669,1671,1673,1675,1677,1679],{"class":656,"line":657},[654,1666,661],{"class":660},[654,1668,665],{"class":664},[654,1670,695],{"class":668},[654,1672,672],{"class":664},[654,1674,675],{"class":660},[654,1676,678],{"class":664},[654,1678,630],{"class":681},[654,1680,685],{"class":664},[654,1682,1683,1685,1687,1689,1691,1693,1695,1697],{"class":656,"line":688},[654,1684,661],{"class":660},[654,1686,665],{"class":664},[654,1688,715],{"class":668},[654,1690,672],{"class":664},[654,1692,675],{"class":660},[654,1694,678],{"class":664},[654,1696,724],{"class":681},[654,1698,685],{"class":664},[654,1700,1701],{"class":656,"line":708},[654,1702,733],{"emptyLinePlaceholder":732},[654,1704,1705,1708,1710,1713,1715,1717,1720,1722,1724,1727,1729,1732,1734,1736],{"class":656,"line":729},[654,1706,1707],{"class":668},"app",[654,1709,855],{"class":664},[654,1711,1712],{"class":745},"post",[654,1714,749],{"class":668},[654,1716,877],{"class":664},[654,1718,1719],{"class":681},"\u002Fapi\u002Fchat",[654,1721,877],{"class":664},[654,1723,880],{"class":664},[654,1725,1726],{"class":752}," async",[654,1728,756],{"class":664},[654,1730,1731],{"class":759},"c",[654,1733,763],{"class":664},[654,1735,766],{"class":752},[654,1737,769],{"class":664},[654,1739,1740,1742,1744,1746,1749,1751,1754,1756,1758,1760,1762],{"class":656,"line":736},[654,1741,775],{"class":752},[654,1743,778],{"class":668},[654,1745,781],{"class":664},[654,1747,1748],{"class":668}," c",[654,1750,855],{"class":664},[654,1752,1753],{"class":745},"get",[654,1755,749],{"class":786},[654,1757,877],{"class":664},[654,1759,813],{"class":681},[654,1761,877],{"class":664},[654,1763,791],{"class":786},[654,1765,1766],{"class":656,"line":772},[654,1767,733],{"emptyLinePlaceholder":732},[654,1769,1770,1772,1774,1776,1778,1780,1782],{"class":656,"line":794},[654,1771,775],{"class":752},[654,1773,804],{"class":668},[654,1775,781],{"class":664},[654,1777,715],{"class":745},[654,1779,749],{"class":786},[654,1781,813],{"class":668},[654,1783,791],{"class":786},[654,1785,1786,1788,1790,1792,1794,1796,1798,1800,1802,1805,1807,1809],{"class":656,"line":799},[654,1787,775],{"class":752},[654,1789,665],{"class":664},[654,1791,825],{"class":668},[654,1793,672],{"class":664},[654,1795,781],{"class":664},[654,1797,832],{"class":660},[654,1799,1748],{"class":668},[654,1801,855],{"class":664},[654,1803,1804],{"class":668},"req",[654,1806,855],{"class":664},[654,1808,1506],{"class":745},[654,1810,1024],{"class":786},[654,1812,1813],{"class":656,"line":818},[654,1814,733],{"emptyLinePlaceholder":732},[654,1816,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851],{"class":656,"line":844},[654,1818,852],{"class":668},[654,1820,855],{"class":664},[654,1822,858],{"class":745},[654,1824,749],{"class":786},[654,1826,863],{"class":664},[654,1828,866],{"class":786},[654,1830,869],{"class":664},[654,1832,678],{"class":664},[654,1834,874],{"class":681},[654,1836,877],{"class":664},[654,1838,880],{"class":664},[654,1840,883],{"class":786},[654,1842,869],{"class":664},[654,1844,825],{"class":668},[654,1846,855],{"class":664},[654,1848,892],{"class":668},[654,1850,672],{"class":664},[654,1852,791],{"class":786},[654,1854,1855],{"class":656,"line":849},[654,1856,733],{"emptyLinePlaceholder":732},[654,1858,1859,1861,1863,1865,1867,1869],{"class":656,"line":899},[654,1860,775],{"class":752},[654,1862,909],{"class":668},[654,1864,781],{"class":664},[654,1866,695],{"class":745},[654,1868,749],{"class":786},[654,1870,918],{"class":664},[654,1872,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891,1893],{"class":656,"line":904},[654,1874,924],{"class":786},[654,1876,869],{"class":664},[654,1878,804],{"class":668},[654,1880,855],{"class":664},[654,1882,933],{"class":745},[654,1884,749],{"class":786},[654,1886,877],{"class":664},[654,1888,940],{"class":681},[654,1890,877],{"class":664},[654,1892,763],{"class":786},[654,1894,947],{"class":664},[654,1896,1897,1899],{"class":656,"line":921},[654,1898,953],{"class":668},[654,1900,947],{"class":664},[654,1902,1903,1905,1907,1909,1911,1913,1915],{"class":656,"line":950},[654,1904,961],{"class":745},[654,1906,869],{"class":664},[654,1908,966],{"class":664},[654,1910,969],{"class":759},[654,1912,972],{"class":664},[654,1914,766],{"class":752},[654,1916,769],{"class":664},[654,1918,1919,1921,1923,1925],{"class":656,"line":958},[654,1920,982],{"class":745},[654,1922,749],{"class":786},[654,1924,987],{"class":668},[654,1926,791],{"class":786},[654,1928,1929],{"class":656,"line":979},[654,1930,995],{"class":664},[654,1932,1933,1935],{"class":656,"line":992},[654,1934,1001],{"class":664},[654,1936,791],{"class":786},[654,1938,1939],{"class":656,"line":998},[654,1940,733],{"emptyLinePlaceholder":732},[654,1942,1943,1945,1947,1949,1951],{"class":656,"line":1006},[654,1944,1014],{"class":660},[654,1946,909],{"class":668},[654,1948,855],{"class":664},[654,1950,1021],{"class":745},[654,1952,1024],{"class":786},[654,1954,1955,1957],{"class":656,"line":1011},[654,1956,1030],{"class":664},[654,1958,791],{"class":668},[644,1960,1962],{"className":646,"code":1961,"filename":270,"language":648,"meta":1660,"style":650},"import { streamText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fchat', async (req, res) => {\n  const log = req.log\n\n  const ai = createAILogger(log)\n  const { messages } = req.body\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  result.pipeTextStreamToResponse(res)\n})\n",[613,1963,1964,1982,2000,2004,2039,2055,2059,2075,2094,2098,2136,2140,2154,2178,2184,2200,2210,2214,2220,2224,2241],{"__ignoreMap":650},[654,1965,1966,1968,1970,1972,1974,1976,1978,1980],{"class":656,"line":657},[654,1967,661],{"class":660},[654,1969,665],{"class":664},[654,1971,695],{"class":668},[654,1973,672],{"class":664},[654,1975,675],{"class":660},[654,1977,678],{"class":664},[654,1979,630],{"class":681},[654,1981,685],{"class":664},[654,1983,1984,1986,1988,1990,1992,1994,1996,1998],{"class":656,"line":688},[654,1985,661],{"class":660},[654,1987,665],{"class":664},[654,1989,715],{"class":668},[654,1991,672],{"class":664},[654,1993,675],{"class":660},[654,1995,678],{"class":664},[654,1997,724],{"class":681},[654,1999,685],{"class":664},[654,2001,2002],{"class":656,"line":708},[654,2003,733],{"emptyLinePlaceholder":732},[654,2005,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2033,2035,2037],{"class":656,"line":729},[654,2007,1707],{"class":668},[654,2009,855],{"class":664},[654,2011,1712],{"class":745},[654,2013,749],{"class":668},[654,2015,877],{"class":664},[654,2017,1719],{"class":681},[654,2019,877],{"class":664},[654,2021,880],{"class":664},[654,2023,1726],{"class":752},[654,2025,756],{"class":664},[654,2027,1804],{"class":759},[654,2029,880],{"class":664},[654,2031,2032],{"class":759}," res",[654,2034,763],{"class":664},[654,2036,766],{"class":752},[654,2038,769],{"class":664},[654,2040,2041,2043,2045,2047,2050,2052],{"class":656,"line":736},[654,2042,775],{"class":752},[654,2044,778],{"class":668},[654,2046,781],{"class":664},[654,2048,2049],{"class":668}," req",[654,2051,855],{"class":664},[654,2053,2054],{"class":668},"log\n",[654,2056,2057],{"class":656,"line":772},[654,2058,733],{"emptyLinePlaceholder":732},[654,2060,2061,2063,2065,2067,2069,2071,2073],{"class":656,"line":794},[654,2062,775],{"class":752},[654,2064,804],{"class":668},[654,2066,781],{"class":664},[654,2068,715],{"class":745},[654,2070,749],{"class":786},[654,2072,813],{"class":668},[654,2074,791],{"class":786},[654,2076,2077,2079,2081,2083,2085,2087,2089,2091],{"class":656,"line":799},[654,2078,775],{"class":752},[654,2080,665],{"class":664},[654,2082,825],{"class":668},[654,2084,672],{"class":664},[654,2086,781],{"class":664},[654,2088,2049],{"class":668},[654,2090,855],{"class":664},[654,2092,2093],{"class":668},"body\n",[654,2095,2096],{"class":656,"line":818},[654,2097,733],{"emptyLinePlaceholder":732},[654,2099,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134],{"class":656,"line":844},[654,2101,852],{"class":668},[654,2103,855],{"class":664},[654,2105,858],{"class":745},[654,2107,749],{"class":786},[654,2109,863],{"class":664},[654,2111,866],{"class":786},[654,2113,869],{"class":664},[654,2115,678],{"class":664},[654,2117,874],{"class":681},[654,2119,877],{"class":664},[654,2121,880],{"class":664},[654,2123,883],{"class":786},[654,2125,869],{"class":664},[654,2127,825],{"class":668},[654,2129,855],{"class":664},[654,2131,892],{"class":668},[654,2133,672],{"class":664},[654,2135,791],{"class":786},[654,2137,2138],{"class":656,"line":849},[654,2139,733],{"emptyLinePlaceholder":732},[654,2141,2142,2144,2146,2148,2150,2152],{"class":656,"line":899},[654,2143,775],{"class":752},[654,2145,909],{"class":668},[654,2147,781],{"class":664},[654,2149,695],{"class":745},[654,2151,749],{"class":786},[654,2153,918],{"class":664},[654,2155,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176],{"class":656,"line":904},[654,2157,924],{"class":786},[654,2159,869],{"class":664},[654,2161,804],{"class":668},[654,2163,855],{"class":664},[654,2165,933],{"class":745},[654,2167,749],{"class":786},[654,2169,877],{"class":664},[654,2171,940],{"class":681},[654,2173,877],{"class":664},[654,2175,763],{"class":786},[654,2177,947],{"class":664},[654,2179,2180,2182],{"class":656,"line":921},[654,2181,953],{"class":668},[654,2183,947],{"class":664},[654,2185,2186,2188,2190,2192,2194,2196,2198],{"class":656,"line":950},[654,2187,961],{"class":745},[654,2189,869],{"class":664},[654,2191,966],{"class":664},[654,2193,969],{"class":759},[654,2195,972],{"class":664},[654,2197,766],{"class":752},[654,2199,769],{"class":664},[654,2201,2202,2204,2206,2208],{"class":656,"line":958},[654,2203,982],{"class":745},[654,2205,749],{"class":786},[654,2207,987],{"class":668},[654,2209,791],{"class":786},[654,2211,2212],{"class":656,"line":979},[654,2213,995],{"class":664},[654,2215,2216,2218],{"class":656,"line":992},[654,2217,1001],{"class":664},[654,2219,791],{"class":786},[654,2221,2222],{"class":656,"line":998},[654,2223,733],{"emptyLinePlaceholder":732},[654,2225,2226,2229,2231,2234,2236,2239],{"class":656,"line":1006},[654,2227,2228],{"class":668},"  result",[654,2230,855],{"class":664},[654,2232,2233],{"class":745},"pipeTextStreamToResponse",[654,2235,749],{"class":786},[654,2237,2238],{"class":668},"res",[654,2240,791],{"class":786},[654,2242,2243,2245],{"class":656,"line":1011},[654,2244,1030],{"class":664},[654,2246,791],{"class":668},[609,2248,2249,2250,2253],{},"The middleware never touches your ",[613,2251,2252],{},"onFinish"," callback, so your code runs as usual.",[633,2255,2257],{"id":2256},"generatetext","generateText",[609,2259,2260],{},"Synchronous generation. The middleware captures the result automatically:",[641,2262,2263,2481,2713,2939,3161],{},[644,2264,2267],{"className":646,"code":2265,"filename":240,"language":648,"meta":2266,"style":650},"import { useLogger } from 'evlog'\nimport { generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\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",[613,2268,2269,2287,2306,2324,2328,2350,2366,2370,2386,2390,2406,2430,2446,2452,2456,2475],{"__ignoreMap":650},[654,2270,2271,2273,2275,2277,2279,2281,2283,2285],{"class":656,"line":657},[654,2272,661],{"class":660},[654,2274,665],{"class":664},[654,2276,669],{"class":668},[654,2278,672],{"class":664},[654,2280,675],{"class":660},[654,2282,678],{"class":664},[654,2284,682],{"class":681},[654,2286,685],{"class":664},[654,2288,2289,2291,2293,2296,2298,2300,2302,2304],{"class":656,"line":688},[654,2290,661],{"class":660},[654,2292,665],{"class":664},[654,2294,2295],{"class":668}," generateText",[654,2297,672],{"class":664},[654,2299,675],{"class":660},[654,2301,678],{"class":664},[654,2303,630],{"class":681},[654,2305,685],{"class":664},[654,2307,2308,2310,2312,2314,2316,2318,2320,2322],{"class":656,"line":708},[654,2309,661],{"class":660},[654,2311,665],{"class":664},[654,2313,715],{"class":668},[654,2315,672],{"class":664},[654,2317,675],{"class":660},[654,2319,678],{"class":664},[654,2321,724],{"class":681},[654,2323,685],{"class":664},[654,2325,2326],{"class":656,"line":729},[654,2327,733],{"emptyLinePlaceholder":732},[654,2329,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348],{"class":656,"line":736},[654,2331,739],{"class":660},[654,2333,742],{"class":660},[654,2335,746],{"class":745},[654,2337,749],{"class":668},[654,2339,753],{"class":752},[654,2341,756],{"class":664},[654,2343,760],{"class":759},[654,2345,763],{"class":664},[654,2347,766],{"class":752},[654,2349,769],{"class":664},[654,2351,2352,2354,2356,2358,2360,2362,2364],{"class":656,"line":772},[654,2353,775],{"class":752},[654,2355,778],{"class":668},[654,2357,781],{"class":664},[654,2359,669],{"class":745},[654,2361,749],{"class":786},[654,2363,760],{"class":668},[654,2365,791],{"class":786},[654,2367,2368],{"class":656,"line":794},[654,2369,733],{"emptyLinePlaceholder":732},[654,2371,2372,2374,2376,2378,2380,2382,2384],{"class":656,"line":799},[654,2373,775],{"class":752},[654,2375,804],{"class":668},[654,2377,781],{"class":664},[654,2379,715],{"class":745},[654,2381,749],{"class":786},[654,2383,813],{"class":668},[654,2385,791],{"class":786},[654,2387,2388],{"class":656,"line":818},[654,2389,733],{"emptyLinePlaceholder":732},[654,2391,2392,2394,2396,2398,2400,2402,2404],{"class":656,"line":844},[654,2393,775],{"class":752},[654,2395,909],{"class":668},[654,2397,781],{"class":664},[654,2399,832],{"class":660},[654,2401,2295],{"class":745},[654,2403,749],{"class":786},[654,2405,918],{"class":664},[654,2407,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428],{"class":656,"line":849},[654,2409,924],{"class":786},[654,2411,869],{"class":664},[654,2413,804],{"class":668},[654,2415,855],{"class":664},[654,2417,933],{"class":745},[654,2419,749],{"class":786},[654,2421,877],{"class":664},[654,2423,940],{"class":681},[654,2425,877],{"class":664},[654,2427,763],{"class":786},[654,2429,947],{"class":664},[654,2431,2432,2435,2437,2439,2442,2444],{"class":656,"line":899},[654,2433,2434],{"class":786},"    prompt",[654,2436,869],{"class":664},[654,2438,678],{"class":664},[654,2440,2441],{"class":681},"Summarize this document",[654,2443,877],{"class":664},[654,2445,947],{"class":664},[654,2447,2448,2450],{"class":656,"line":904},[654,2449,1001],{"class":664},[654,2451,791],{"class":786},[654,2453,2454],{"class":656,"line":921},[654,2455,733],{"emptyLinePlaceholder":732},[654,2457,2458,2460,2462,2464,2466,2468,2470,2472],{"class":656,"line":950},[654,2459,1014],{"class":660},[654,2461,665],{"class":664},[654,2463,969],{"class":786},[654,2465,869],{"class":664},[654,2467,909],{"class":668},[654,2469,855],{"class":664},[654,2471,987],{"class":668},[654,2473,2474],{"class":664}," }\n",[654,2476,2477,2479],{"class":656,"line":958},[654,2478,1030],{"class":664},[654,2480,791],{"class":668},[644,2482,2485],{"className":646,"code":2483,"filename":255,"language":648,"meta":2484,"style":650},"import { defineHandler } from 'nitro\u002Fh3'\nimport { useLogger } from 'evlog\u002Fnitro\u002Fv3'\nimport { generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n\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","routes\u002Fapi\u002Fsummarize.post.ts",[613,2486,2487,2505,2523,2541,2559,2563,2585,2601,2605,2621,2625,2641,2665,2679,2685,2689,2707],{"__ignoreMap":650},[654,2488,2489,2491,2493,2495,2497,2499,2501,2503],{"class":656,"line":657},[654,2490,661],{"class":660},[654,2492,665],{"class":664},[654,2494,1047],{"class":668},[654,2496,672],{"class":664},[654,2498,675],{"class":660},[654,2500,678],{"class":664},[654,2502,1056],{"class":681},[654,2504,685],{"class":664},[654,2506,2507,2509,2511,2513,2515,2517,2519,2521],{"class":656,"line":688},[654,2508,661],{"class":660},[654,2510,665],{"class":664},[654,2512,669],{"class":668},[654,2514,672],{"class":664},[654,2516,675],{"class":660},[654,2518,678],{"class":664},[654,2520,1075],{"class":681},[654,2522,685],{"class":664},[654,2524,2525,2527,2529,2531,2533,2535,2537,2539],{"class":656,"line":708},[654,2526,661],{"class":660},[654,2528,665],{"class":664},[654,2530,2295],{"class":668},[654,2532,672],{"class":664},[654,2534,675],{"class":660},[654,2536,678],{"class":664},[654,2538,630],{"class":681},[654,2540,685],{"class":664},[654,2542,2543,2545,2547,2549,2551,2553,2555,2557],{"class":656,"line":729},[654,2544,661],{"class":660},[654,2546,665],{"class":664},[654,2548,715],{"class":668},[654,2550,672],{"class":664},[654,2552,675],{"class":660},[654,2554,678],{"class":664},[654,2556,724],{"class":681},[654,2558,685],{"class":664},[654,2560,2561],{"class":656,"line":736},[654,2562,733],{"emptyLinePlaceholder":732},[654,2564,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583],{"class":656,"line":772},[654,2566,739],{"class":660},[654,2568,742],{"class":660},[654,2570,1047],{"class":745},[654,2572,749],{"class":668},[654,2574,753],{"class":752},[654,2576,756],{"class":664},[654,2578,760],{"class":759},[654,2580,763],{"class":664},[654,2582,766],{"class":752},[654,2584,769],{"class":664},[654,2586,2587,2589,2591,2593,2595,2597,2599],{"class":656,"line":794},[654,2588,775],{"class":752},[654,2590,778],{"class":668},[654,2592,781],{"class":664},[654,2594,669],{"class":745},[654,2596,749],{"class":786},[654,2598,760],{"class":668},[654,2600,791],{"class":786},[654,2602,2603],{"class":656,"line":799},[654,2604,733],{"emptyLinePlaceholder":732},[654,2606,2607,2609,2611,2613,2615,2617,2619],{"class":656,"line":818},[654,2608,775],{"class":752},[654,2610,804],{"class":668},[654,2612,781],{"class":664},[654,2614,715],{"class":745},[654,2616,749],{"class":786},[654,2618,813],{"class":668},[654,2620,791],{"class":786},[654,2622,2623],{"class":656,"line":844},[654,2624,733],{"emptyLinePlaceholder":732},[654,2626,2627,2629,2631,2633,2635,2637,2639],{"class":656,"line":849},[654,2628,775],{"class":752},[654,2630,909],{"class":668},[654,2632,781],{"class":664},[654,2634,832],{"class":660},[654,2636,2295],{"class":745},[654,2638,749],{"class":786},[654,2640,918],{"class":664},[654,2642,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663],{"class":656,"line":899},[654,2644,924],{"class":786},[654,2646,869],{"class":664},[654,2648,804],{"class":668},[654,2650,855],{"class":664},[654,2652,933],{"class":745},[654,2654,749],{"class":786},[654,2656,877],{"class":664},[654,2658,940],{"class":681},[654,2660,877],{"class":664},[654,2662,763],{"class":786},[654,2664,947],{"class":664},[654,2666,2667,2669,2671,2673,2675,2677],{"class":656,"line":904},[654,2668,2434],{"class":786},[654,2670,869],{"class":664},[654,2672,678],{"class":664},[654,2674,2441],{"class":681},[654,2676,877],{"class":664},[654,2678,947],{"class":664},[654,2680,2681,2683],{"class":656,"line":921},[654,2682,1001],{"class":664},[654,2684,791],{"class":786},[654,2686,2687],{"class":656,"line":950},[654,2688,733],{"emptyLinePlaceholder":732},[654,2690,2691,2693,2695,2697,2699,2701,2703,2705],{"class":656,"line":958},[654,2692,1014],{"class":660},[654,2694,665],{"class":664},[654,2696,969],{"class":786},[654,2698,869],{"class":664},[654,2700,909],{"class":668},[654,2702,855],{"class":664},[654,2704,987],{"class":668},[654,2706,2474],{"class":664},[654,2708,2709,2711],{"class":656,"line":979},[654,2710,1030],{"class":664},[654,2712,791],{"class":668},[644,2714,2717],{"className":646,"code":2715,"filename":245,"language":648,"meta":2716,"style":650},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport const POST = withEvlog(async () => {\n  const log = useLogger()\n\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 Response.json({ text: result.text })\n})\n","app\u002Fapi\u002Fsummarize\u002Froute.ts",[613,2718,2719,2741,2759,2777,2781,2804,2816,2820,2836,2840,2856,2880,2894,2900,2904,2933],{"__ignoreMap":650},[654,2720,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739],{"class":656,"line":657},[654,2722,661],{"class":660},[654,2724,665],{"class":664},[654,2726,1361],{"class":668},[654,2728,880],{"class":664},[654,2730,669],{"class":668},[654,2732,672],{"class":664},[654,2734,675],{"class":660},[654,2736,678],{"class":664},[654,2738,1374],{"class":681},[654,2740,685],{"class":664},[654,2742,2743,2745,2747,2749,2751,2753,2755,2757],{"class":656,"line":688},[654,2744,661],{"class":660},[654,2746,665],{"class":664},[654,2748,2295],{"class":668},[654,2750,672],{"class":664},[654,2752,675],{"class":660},[654,2754,678],{"class":664},[654,2756,630],{"class":681},[654,2758,685],{"class":664},[654,2760,2761,2763,2765,2767,2769,2771,2773,2775],{"class":656,"line":708},[654,2762,661],{"class":660},[654,2764,665],{"class":664},[654,2766,715],{"class":668},[654,2768,672],{"class":664},[654,2770,675],{"class":660},[654,2772,678],{"class":664},[654,2774,724],{"class":681},[654,2776,685],{"class":664},[654,2778,2779],{"class":656,"line":729},[654,2780,733],{"emptyLinePlaceholder":732},[654,2782,2783,2785,2787,2789,2791,2793,2795,2797,2800,2802],{"class":656,"line":736},[654,2784,739],{"class":660},[654,2786,1423],{"class":752},[654,2788,1426],{"class":668},[654,2790,1429],{"class":664},[654,2792,1361],{"class":745},[654,2794,749],{"class":668},[654,2796,753],{"class":752},[654,2798,2799],{"class":664}," ()",[654,2801,766],{"class":752},[654,2803,769],{"class":664},[654,2805,2806,2808,2810,2812,2814],{"class":656,"line":772},[654,2807,775],{"class":752},[654,2809,778],{"class":668},[654,2811,781],{"class":664},[654,2813,669],{"class":745},[654,2815,1024],{"class":786},[654,2817,2818],{"class":656,"line":794},[654,2819,733],{"emptyLinePlaceholder":732},[654,2821,2822,2824,2826,2828,2830,2832,2834],{"class":656,"line":799},[654,2823,775],{"class":752},[654,2825,804],{"class":668},[654,2827,781],{"class":664},[654,2829,715],{"class":745},[654,2831,749],{"class":786},[654,2833,813],{"class":668},[654,2835,791],{"class":786},[654,2837,2838],{"class":656,"line":818},[654,2839,733],{"emptyLinePlaceholder":732},[654,2841,2842,2844,2846,2848,2850,2852,2854],{"class":656,"line":844},[654,2843,775],{"class":752},[654,2845,909],{"class":668},[654,2847,781],{"class":664},[654,2849,832],{"class":660},[654,2851,2295],{"class":745},[654,2853,749],{"class":786},[654,2855,918],{"class":664},[654,2857,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876,2878],{"class":656,"line":849},[654,2859,924],{"class":786},[654,2861,869],{"class":664},[654,2863,804],{"class":668},[654,2865,855],{"class":664},[654,2867,933],{"class":745},[654,2869,749],{"class":786},[654,2871,877],{"class":664},[654,2873,940],{"class":681},[654,2875,877],{"class":664},[654,2877,763],{"class":786},[654,2879,947],{"class":664},[654,2881,2882,2884,2886,2888,2890,2892],{"class":656,"line":899},[654,2883,2434],{"class":786},[654,2885,869],{"class":664},[654,2887,678],{"class":664},[654,2889,2441],{"class":681},[654,2891,877],{"class":664},[654,2893,947],{"class":664},[654,2895,2896,2898],{"class":656,"line":904},[654,2897,1001],{"class":664},[654,2899,791],{"class":786},[654,2901,2902],{"class":656,"line":921},[654,2903,733],{"emptyLinePlaceholder":732},[654,2905,2906,2908,2911,2913,2915,2917,2919,2921,2923,2925,2927,2929,2931],{"class":656,"line":950},[654,2907,1014],{"class":660},[654,2909,2910],{"class":668}," Response",[654,2912,855],{"class":664},[654,2914,1506],{"class":745},[654,2916,749],{"class":786},[654,2918,863],{"class":664},[654,2920,969],{"class":786},[654,2922,869],{"class":664},[654,2924,909],{"class":668},[654,2926,855],{"class":664},[654,2928,987],{"class":668},[654,2930,672],{"class":664},[654,2932,791],{"class":786},[654,2934,2935,2937],{"class":656,"line":958},[654,2936,1030],{"class":664},[654,2938,791],{"class":668},[644,2940,2942],{"className":646,"code":2941,"filename":275,"language":648,"meta":1660,"style":650},"import { generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fsummarize', async (c) => {\n  const log = c.get('log')\n\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 c.json({ text: result.text })\n})\n",[613,2943,2944,2962,2980,2984,3015,3039,3043,3059,3063,3079,3103,3117,3123,3127,3155],{"__ignoreMap":650},[654,2945,2946,2948,2950,2952,2954,2956,2958,2960],{"class":656,"line":657},[654,2947,661],{"class":660},[654,2949,665],{"class":664},[654,2951,2295],{"class":668},[654,2953,672],{"class":664},[654,2955,675],{"class":660},[654,2957,678],{"class":664},[654,2959,630],{"class":681},[654,2961,685],{"class":664},[654,2963,2964,2966,2968,2970,2972,2974,2976,2978],{"class":656,"line":688},[654,2965,661],{"class":660},[654,2967,665],{"class":664},[654,2969,715],{"class":668},[654,2971,672],{"class":664},[654,2973,675],{"class":660},[654,2975,678],{"class":664},[654,2977,724],{"class":681},[654,2979,685],{"class":664},[654,2981,2982],{"class":656,"line":708},[654,2983,733],{"emptyLinePlaceholder":732},[654,2985,2986,2988,2990,2992,2994,2996,2999,3001,3003,3005,3007,3009,3011,3013],{"class":656,"line":729},[654,2987,1707],{"class":668},[654,2989,855],{"class":664},[654,2991,1712],{"class":745},[654,2993,749],{"class":668},[654,2995,877],{"class":664},[654,2997,2998],{"class":681},"\u002Fapi\u002Fsummarize",[654,3000,877],{"class":664},[654,3002,880],{"class":664},[654,3004,1726],{"class":752},[654,3006,756],{"class":664},[654,3008,1731],{"class":759},[654,3010,763],{"class":664},[654,3012,766],{"class":752},[654,3014,769],{"class":664},[654,3016,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037],{"class":656,"line":736},[654,3018,775],{"class":752},[654,3020,778],{"class":668},[654,3022,781],{"class":664},[654,3024,1748],{"class":668},[654,3026,855],{"class":664},[654,3028,1753],{"class":745},[654,3030,749],{"class":786},[654,3032,877],{"class":664},[654,3034,813],{"class":681},[654,3036,877],{"class":664},[654,3038,791],{"class":786},[654,3040,3041],{"class":656,"line":772},[654,3042,733],{"emptyLinePlaceholder":732},[654,3044,3045,3047,3049,3051,3053,3055,3057],{"class":656,"line":794},[654,3046,775],{"class":752},[654,3048,804],{"class":668},[654,3050,781],{"class":664},[654,3052,715],{"class":745},[654,3054,749],{"class":786},[654,3056,813],{"class":668},[654,3058,791],{"class":786},[654,3060,3061],{"class":656,"line":799},[654,3062,733],{"emptyLinePlaceholder":732},[654,3064,3065,3067,3069,3071,3073,3075,3077],{"class":656,"line":818},[654,3066,775],{"class":752},[654,3068,909],{"class":668},[654,3070,781],{"class":664},[654,3072,832],{"class":660},[654,3074,2295],{"class":745},[654,3076,749],{"class":786},[654,3078,918],{"class":664},[654,3080,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101],{"class":656,"line":844},[654,3082,924],{"class":786},[654,3084,869],{"class":664},[654,3086,804],{"class":668},[654,3088,855],{"class":664},[654,3090,933],{"class":745},[654,3092,749],{"class":786},[654,3094,877],{"class":664},[654,3096,940],{"class":681},[654,3098,877],{"class":664},[654,3100,763],{"class":786},[654,3102,947],{"class":664},[654,3104,3105,3107,3109,3111,3113,3115],{"class":656,"line":849},[654,3106,2434],{"class":786},[654,3108,869],{"class":664},[654,3110,678],{"class":664},[654,3112,2441],{"class":681},[654,3114,877],{"class":664},[654,3116,947],{"class":664},[654,3118,3119,3121],{"class":656,"line":899},[654,3120,1001],{"class":664},[654,3122,791],{"class":786},[654,3124,3125],{"class":656,"line":904},[654,3126,733],{"emptyLinePlaceholder":732},[654,3128,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153],{"class":656,"line":921},[654,3130,1014],{"class":660},[654,3132,1748],{"class":668},[654,3134,855],{"class":664},[654,3136,1506],{"class":745},[654,3138,749],{"class":786},[654,3140,863],{"class":664},[654,3142,969],{"class":786},[654,3144,869],{"class":664},[654,3146,909],{"class":668},[654,3148,855],{"class":664},[654,3150,987],{"class":668},[654,3152,672],{"class":664},[654,3154,791],{"class":786},[654,3156,3157,3159],{"class":656,"line":950},[654,3158,1030],{"class":664},[654,3160,791],{"class":668},[644,3162,3164],{"className":646,"code":3163,"filename":270,"language":648,"meta":1660,"style":650},"import { generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fsummarize', async (req, res) => {\n  const log = req.log\n\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 res.json({ text: result.text })\n})\n",[613,3165,3166,3184,3202,3206,3240,3254,3258,3274,3278,3294,3318,3332,3338,3342,3370],{"__ignoreMap":650},[654,3167,3168,3170,3172,3174,3176,3178,3180,3182],{"class":656,"line":657},[654,3169,661],{"class":660},[654,3171,665],{"class":664},[654,3173,2295],{"class":668},[654,3175,672],{"class":664},[654,3177,675],{"class":660},[654,3179,678],{"class":664},[654,3181,630],{"class":681},[654,3183,685],{"class":664},[654,3185,3186,3188,3190,3192,3194,3196,3198,3200],{"class":656,"line":688},[654,3187,661],{"class":660},[654,3189,665],{"class":664},[654,3191,715],{"class":668},[654,3193,672],{"class":664},[654,3195,675],{"class":660},[654,3197,678],{"class":664},[654,3199,724],{"class":681},[654,3201,685],{"class":664},[654,3203,3204],{"class":656,"line":708},[654,3205,733],{"emptyLinePlaceholder":732},[654,3207,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238],{"class":656,"line":729},[654,3209,1707],{"class":668},[654,3211,855],{"class":664},[654,3213,1712],{"class":745},[654,3215,749],{"class":668},[654,3217,877],{"class":664},[654,3219,2998],{"class":681},[654,3221,877],{"class":664},[654,3223,880],{"class":664},[654,3225,1726],{"class":752},[654,3227,756],{"class":664},[654,3229,1804],{"class":759},[654,3231,880],{"class":664},[654,3233,2032],{"class":759},[654,3235,763],{"class":664},[654,3237,766],{"class":752},[654,3239,769],{"class":664},[654,3241,3242,3244,3246,3248,3250,3252],{"class":656,"line":736},[654,3243,775],{"class":752},[654,3245,778],{"class":668},[654,3247,781],{"class":664},[654,3249,2049],{"class":668},[654,3251,855],{"class":664},[654,3253,2054],{"class":668},[654,3255,3256],{"class":656,"line":772},[654,3257,733],{"emptyLinePlaceholder":732},[654,3259,3260,3262,3264,3266,3268,3270,3272],{"class":656,"line":794},[654,3261,775],{"class":752},[654,3263,804],{"class":668},[654,3265,781],{"class":664},[654,3267,715],{"class":745},[654,3269,749],{"class":786},[654,3271,813],{"class":668},[654,3273,791],{"class":786},[654,3275,3276],{"class":656,"line":799},[654,3277,733],{"emptyLinePlaceholder":732},[654,3279,3280,3282,3284,3286,3288,3290,3292],{"class":656,"line":818},[654,3281,775],{"class":752},[654,3283,909],{"class":668},[654,3285,781],{"class":664},[654,3287,832],{"class":660},[654,3289,2295],{"class":745},[654,3291,749],{"class":786},[654,3293,918],{"class":664},[654,3295,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316],{"class":656,"line":844},[654,3297,924],{"class":786},[654,3299,869],{"class":664},[654,3301,804],{"class":668},[654,3303,855],{"class":664},[654,3305,933],{"class":745},[654,3307,749],{"class":786},[654,3309,877],{"class":664},[654,3311,940],{"class":681},[654,3313,877],{"class":664},[654,3315,763],{"class":786},[654,3317,947],{"class":664},[654,3319,3320,3322,3324,3326,3328,3330],{"class":656,"line":849},[654,3321,2434],{"class":786},[654,3323,869],{"class":664},[654,3325,678],{"class":664},[654,3327,2441],{"class":681},[654,3329,877],{"class":664},[654,3331,947],{"class":664},[654,3333,3334,3336],{"class":656,"line":899},[654,3335,1001],{"class":664},[654,3337,791],{"class":786},[654,3339,3340],{"class":656,"line":904},[654,3341,733],{"emptyLinePlaceholder":732},[654,3343,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368],{"class":656,"line":921},[654,3345,1014],{"class":660},[654,3347,2032],{"class":668},[654,3349,855],{"class":664},[654,3351,1506],{"class":745},[654,3353,749],{"class":786},[654,3355,863],{"class":664},[654,3357,969],{"class":786},[654,3359,869],{"class":664},[654,3361,909],{"class":668},[654,3363,855],{"class":664},[654,3365,987],{"class":668},[654,3367,672],{"class":664},[654,3369,791],{"class":786},[654,3371,3372,3374],{"class":656,"line":950},[654,3373,1030],{"class":664},[654,3375,791],{"class":668},[633,3377,3379],{"id":3378},"trace-a-multi-step-agent","Trace a multi-step agent",[609,3381,3382],{},"The middleware fires for each step automatically. Steps, tool calls, and tokens are accumulated across the agent loop:",[641,3384,3385,3702,4021,4329,4631],{},[644,3386,3389],{"className":646,"code":3387,"filename":240,"language":648,"meta":3388,"style":650},"import { useLogger } from 'evlog'\nimport { ToolLoopAgent, createAgentUIStreamResponse, stepCountIs } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\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",[613,3390,3391,3409,3438,3456,3460,3482,3498,3502,3524,3542,3563,3569,3573,3591,3615,3634,3652,3658,3662,3672,3679,3690,3696],{"__ignoreMap":650},[654,3392,3393,3395,3397,3399,3401,3403,3405,3407],{"class":656,"line":657},[654,3394,661],{"class":660},[654,3396,665],{"class":664},[654,3398,669],{"class":668},[654,3400,672],{"class":664},[654,3402,675],{"class":660},[654,3404,678],{"class":664},[654,3406,682],{"class":681},[654,3408,685],{"class":664},[654,3410,3411,3413,3415,3418,3420,3423,3425,3428,3430,3432,3434,3436],{"class":656,"line":688},[654,3412,661],{"class":660},[654,3414,665],{"class":664},[654,3416,3417],{"class":668}," ToolLoopAgent",[654,3419,880],{"class":664},[654,3421,3422],{"class":668}," createAgentUIStreamResponse",[654,3424,880],{"class":664},[654,3426,3427],{"class":668}," stepCountIs",[654,3429,672],{"class":664},[654,3431,675],{"class":660},[654,3433,678],{"class":664},[654,3435,630],{"class":681},[654,3437,685],{"class":664},[654,3439,3440,3442,3444,3446,3448,3450,3452,3454],{"class":656,"line":708},[654,3441,661],{"class":660},[654,3443,665],{"class":664},[654,3445,715],{"class":668},[654,3447,672],{"class":664},[654,3449,675],{"class":660},[654,3451,678],{"class":664},[654,3453,724],{"class":681},[654,3455,685],{"class":664},[654,3457,3458],{"class":656,"line":729},[654,3459,733],{"emptyLinePlaceholder":732},[654,3461,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480],{"class":656,"line":736},[654,3463,739],{"class":660},[654,3465,742],{"class":660},[654,3467,746],{"class":745},[654,3469,749],{"class":668},[654,3471,753],{"class":752},[654,3473,756],{"class":664},[654,3475,760],{"class":759},[654,3477,763],{"class":664},[654,3479,766],{"class":752},[654,3481,769],{"class":664},[654,3483,3484,3486,3488,3490,3492,3494,3496],{"class":656,"line":772},[654,3485,775],{"class":752},[654,3487,778],{"class":668},[654,3489,781],{"class":664},[654,3491,669],{"class":745},[654,3493,749],{"class":786},[654,3495,760],{"class":668},[654,3497,791],{"class":786},[654,3499,3500],{"class":656,"line":794},[654,3501,733],{"emptyLinePlaceholder":732},[654,3503,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522],{"class":656,"line":799},[654,3505,775],{"class":752},[654,3507,665],{"class":664},[654,3509,825],{"class":668},[654,3511,672],{"class":664},[654,3513,781],{"class":664},[654,3515,832],{"class":660},[654,3517,835],{"class":745},[654,3519,749],{"class":786},[654,3521,760],{"class":668},[654,3523,791],{"class":786},[654,3525,3526,3528,3530,3532,3534,3536,3538,3540],{"class":656,"line":818},[654,3527,775],{"class":752},[654,3529,804],{"class":668},[654,3531,781],{"class":664},[654,3533,715],{"class":745},[654,3535,749],{"class":786},[654,3537,813],{"class":668},[654,3539,880],{"class":664},[654,3541,769],{"class":664},[654,3543,3544,3547,3549,3551,3554,3556,3560],{"class":656,"line":844},[654,3545,3546],{"class":786},"    toolInputs",[654,3548,869],{"class":664},[654,3550,665],{"class":664},[654,3552,3553],{"class":786}," maxLength",[654,3555,869],{"class":664},[654,3557,3559],{"class":3558},"sbssI"," 500",[654,3561,3562],{"class":664}," },\n",[654,3564,3565,3567],{"class":656,"line":849},[654,3566,1001],{"class":664},[654,3568,791],{"class":786},[654,3570,3571],{"class":656,"line":899},[654,3572,733],{"emptyLinePlaceholder":732},[654,3574,3575,3577,3580,3582,3585,3587,3589],{"class":656,"line":904},[654,3576,775],{"class":752},[654,3578,3579],{"class":668}," agent",[654,3581,781],{"class":664},[654,3583,3584],{"class":664}," new",[654,3586,3417],{"class":745},[654,3588,749],{"class":786},[654,3590,918],{"class":664},[654,3592,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613],{"class":656,"line":921},[654,3594,924],{"class":786},[654,3596,869],{"class":664},[654,3598,804],{"class":668},[654,3600,855],{"class":664},[654,3602,933],{"class":745},[654,3604,749],{"class":786},[654,3606,877],{"class":664},[654,3608,940],{"class":681},[654,3610,877],{"class":664},[654,3612,763],{"class":786},[654,3614,947],{"class":664},[654,3616,3617,3620,3622,3624,3627,3629,3632],{"class":656,"line":950},[654,3618,3619],{"class":786},"    tools",[654,3621,869],{"class":664},[654,3623,665],{"class":664},[654,3625,3626],{"class":668}," searchWeb",[654,3628,880],{"class":664},[654,3630,3631],{"class":668}," queryDatabase",[654,3633,3562],{"class":664},[654,3635,3636,3639,3641,3643,3645,3648,3650],{"class":656,"line":958},[654,3637,3638],{"class":786},"    stopWhen",[654,3640,869],{"class":664},[654,3642,3427],{"class":745},[654,3644,749],{"class":786},[654,3646,3647],{"class":3558},"5",[654,3649,763],{"class":786},[654,3651,947],{"class":664},[654,3653,3654,3656],{"class":656,"line":979},[654,3655,1001],{"class":664},[654,3657,791],{"class":786},[654,3659,3660],{"class":656,"line":992},[654,3661,733],{"emptyLinePlaceholder":732},[654,3663,3664,3666,3668,3670],{"class":656,"line":998},[654,3665,1014],{"class":660},[654,3667,3422],{"class":745},[654,3669,749],{"class":786},[654,3671,918],{"class":664},[654,3673,3674,3677],{"class":656,"line":1006},[654,3675,3676],{"class":668},"    agent",[654,3678,947],{"class":664},[654,3680,3681,3684,3686,3688],{"class":656,"line":1011},[654,3682,3683],{"class":786},"    uiMessages",[654,3685,869],{"class":664},[654,3687,825],{"class":668},[654,3689,947],{"class":664},[654,3691,3692,3694],{"class":656,"line":1027},[654,3693,1001],{"class":664},[654,3695,791],{"class":786},[654,3697,3698,3700],{"class":656,"line":1342},[654,3699,1030],{"class":664},[654,3701,791],{"class":668},[644,3703,3706],{"className":646,"code":3704,"filename":255,"language":648,"meta":3705,"style":650},"import { defineHandler } from 'nitro\u002Fh3'\nimport { useLogger } from 'evlog\u002Fnitro\u002Fv3'\nimport { ToolLoopAgent, createAgentUIStreamResponse, stepCountIs } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n\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","routes\u002Fapi\u002Fagent.post.ts",[613,3707,3708,3726,3744,3770,3788,3792,3814,3830,3834,3856,3874,3890,3896,3900,3916,3940,3956,3972,3978,3982,3992,3998,4008,4014],{"__ignoreMap":650},[654,3709,3710,3712,3714,3716,3718,3720,3722,3724],{"class":656,"line":657},[654,3711,661],{"class":660},[654,3713,665],{"class":664},[654,3715,1047],{"class":668},[654,3717,672],{"class":664},[654,3719,675],{"class":660},[654,3721,678],{"class":664},[654,3723,1056],{"class":681},[654,3725,685],{"class":664},[654,3727,3728,3730,3732,3734,3736,3738,3740,3742],{"class":656,"line":688},[654,3729,661],{"class":660},[654,3731,665],{"class":664},[654,3733,669],{"class":668},[654,3735,672],{"class":664},[654,3737,675],{"class":660},[654,3739,678],{"class":664},[654,3741,1075],{"class":681},[654,3743,685],{"class":664},[654,3745,3746,3748,3750,3752,3754,3756,3758,3760,3762,3764,3766,3768],{"class":656,"line":708},[654,3747,661],{"class":660},[654,3749,665],{"class":664},[654,3751,3417],{"class":668},[654,3753,880],{"class":664},[654,3755,3422],{"class":668},[654,3757,880],{"class":664},[654,3759,3427],{"class":668},[654,3761,672],{"class":664},[654,3763,675],{"class":660},[654,3765,678],{"class":664},[654,3767,630],{"class":681},[654,3769,685],{"class":664},[654,3771,3772,3774,3776,3778,3780,3782,3784,3786],{"class":656,"line":729},[654,3773,661],{"class":660},[654,3775,665],{"class":664},[654,3777,715],{"class":668},[654,3779,672],{"class":664},[654,3781,675],{"class":660},[654,3783,678],{"class":664},[654,3785,724],{"class":681},[654,3787,685],{"class":664},[654,3789,3790],{"class":656,"line":736},[654,3791,733],{"emptyLinePlaceholder":732},[654,3793,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812],{"class":656,"line":772},[654,3795,739],{"class":660},[654,3797,742],{"class":660},[654,3799,1047],{"class":745},[654,3801,749],{"class":668},[654,3803,753],{"class":752},[654,3805,756],{"class":664},[654,3807,760],{"class":759},[654,3809,763],{"class":664},[654,3811,766],{"class":752},[654,3813,769],{"class":664},[654,3815,3816,3818,3820,3822,3824,3826,3828],{"class":656,"line":794},[654,3817,775],{"class":752},[654,3819,778],{"class":668},[654,3821,781],{"class":664},[654,3823,669],{"class":745},[654,3825,749],{"class":786},[654,3827,760],{"class":668},[654,3829,791],{"class":786},[654,3831,3832],{"class":656,"line":799},[654,3833,733],{"emptyLinePlaceholder":732},[654,3835,3836,3838,3840,3842,3844,3846,3848,3850,3852,3854],{"class":656,"line":818},[654,3837,775],{"class":752},[654,3839,665],{"class":664},[654,3841,825],{"class":668},[654,3843,672],{"class":664},[654,3845,781],{"class":664},[654,3847,832],{"class":660},[654,3849,835],{"class":745},[654,3851,749],{"class":786},[654,3853,760],{"class":668},[654,3855,791],{"class":786},[654,3857,3858,3860,3862,3864,3866,3868,3870,3872],{"class":656,"line":844},[654,3859,775],{"class":752},[654,3861,804],{"class":668},[654,3863,781],{"class":664},[654,3865,715],{"class":745},[654,3867,749],{"class":786},[654,3869,813],{"class":668},[654,3871,880],{"class":664},[654,3873,769],{"class":664},[654,3875,3876,3878,3880,3882,3884,3886,3888],{"class":656,"line":849},[654,3877,3546],{"class":786},[654,3879,869],{"class":664},[654,3881,665],{"class":664},[654,3883,3553],{"class":786},[654,3885,869],{"class":664},[654,3887,3559],{"class":3558},[654,3889,3562],{"class":664},[654,3891,3892,3894],{"class":656,"line":899},[654,3893,1001],{"class":664},[654,3895,791],{"class":786},[654,3897,3898],{"class":656,"line":904},[654,3899,733],{"emptyLinePlaceholder":732},[654,3901,3902,3904,3906,3908,3910,3912,3914],{"class":656,"line":921},[654,3903,775],{"class":752},[654,3905,3579],{"class":668},[654,3907,781],{"class":664},[654,3909,3584],{"class":664},[654,3911,3417],{"class":745},[654,3913,749],{"class":786},[654,3915,918],{"class":664},[654,3917,3918,3920,3922,3924,3926,3928,3930,3932,3934,3936,3938],{"class":656,"line":950},[654,3919,924],{"class":786},[654,3921,869],{"class":664},[654,3923,804],{"class":668},[654,3925,855],{"class":664},[654,3927,933],{"class":745},[654,3929,749],{"class":786},[654,3931,877],{"class":664},[654,3933,940],{"class":681},[654,3935,877],{"class":664},[654,3937,763],{"class":786},[654,3939,947],{"class":664},[654,3941,3942,3944,3946,3948,3950,3952,3954],{"class":656,"line":958},[654,3943,3619],{"class":786},[654,3945,869],{"class":664},[654,3947,665],{"class":664},[654,3949,3626],{"class":668},[654,3951,880],{"class":664},[654,3953,3631],{"class":668},[654,3955,3562],{"class":664},[654,3957,3958,3960,3962,3964,3966,3968,3970],{"class":656,"line":979},[654,3959,3638],{"class":786},[654,3961,869],{"class":664},[654,3963,3427],{"class":745},[654,3965,749],{"class":786},[654,3967,3647],{"class":3558},[654,3969,763],{"class":786},[654,3971,947],{"class":664},[654,3973,3974,3976],{"class":656,"line":992},[654,3975,1001],{"class":664},[654,3977,791],{"class":786},[654,3979,3980],{"class":656,"line":998},[654,3981,733],{"emptyLinePlaceholder":732},[654,3983,3984,3986,3988,3990],{"class":656,"line":1006},[654,3985,1014],{"class":660},[654,3987,3422],{"class":745},[654,3989,749],{"class":786},[654,3991,918],{"class":664},[654,3993,3994,3996],{"class":656,"line":1011},[654,3995,3676],{"class":668},[654,3997,947],{"class":664},[654,3999,4000,4002,4004,4006],{"class":656,"line":1027},[654,4001,3683],{"class":786},[654,4003,869],{"class":664},[654,4005,825],{"class":668},[654,4007,947],{"class":664},[654,4009,4010,4012],{"class":656,"line":1342},[654,4011,1001],{"class":664},[654,4013,791],{"class":786},[654,4015,4017,4019],{"class":656,"line":4016},24,[654,4018,1030],{"class":664},[654,4020,791],{"class":668},[644,4022,4025],{"className":646,"code":4023,"filename":245,"language":648,"meta":4024,"style":650},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { ToolLoopAgent, createAgentUIStreamResponse, stepCountIs } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport const POST = withEvlog(async (request: Request) => {\n  const log = useLogger()\n\n  const { messages } = await request.json()\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","app\u002Fapi\u002Fagent\u002Froute.ts",[613,4026,4027,4049,4075,4093,4097,4127,4139,4143,4165,4183,4199,4205,4209,4225,4249,4265,4281,4287,4291,4301,4307,4317,4323],{"__ignoreMap":650},[654,4028,4029,4031,4033,4035,4037,4039,4041,4043,4045,4047],{"class":656,"line":657},[654,4030,661],{"class":660},[654,4032,665],{"class":664},[654,4034,1361],{"class":668},[654,4036,880],{"class":664},[654,4038,669],{"class":668},[654,4040,672],{"class":664},[654,4042,675],{"class":660},[654,4044,678],{"class":664},[654,4046,1374],{"class":681},[654,4048,685],{"class":664},[654,4050,4051,4053,4055,4057,4059,4061,4063,4065,4067,4069,4071,4073],{"class":656,"line":688},[654,4052,661],{"class":660},[654,4054,665],{"class":664},[654,4056,3417],{"class":668},[654,4058,880],{"class":664},[654,4060,3422],{"class":668},[654,4062,880],{"class":664},[654,4064,3427],{"class":668},[654,4066,672],{"class":664},[654,4068,675],{"class":660},[654,4070,678],{"class":664},[654,4072,630],{"class":681},[654,4074,685],{"class":664},[654,4076,4077,4079,4081,4083,4085,4087,4089,4091],{"class":656,"line":708},[654,4078,661],{"class":660},[654,4080,665],{"class":664},[654,4082,715],{"class":668},[654,4084,672],{"class":664},[654,4086,675],{"class":660},[654,4088,678],{"class":664},[654,4090,724],{"class":681},[654,4092,685],{"class":664},[654,4094,4095],{"class":656,"line":729},[654,4096,733],{"emptyLinePlaceholder":732},[654,4098,4099,4101,4103,4105,4107,4109,4111,4113,4115,4117,4119,4121,4123,4125],{"class":656,"line":736},[654,4100,739],{"class":660},[654,4102,1423],{"class":752},[654,4104,1426],{"class":668},[654,4106,1429],{"class":664},[654,4108,1361],{"class":745},[654,4110,749],{"class":668},[654,4112,753],{"class":752},[654,4114,756],{"class":664},[654,4116,1440],{"class":759},[654,4118,869],{"class":664},[654,4120,1446],{"class":1445},[654,4122,763],{"class":664},[654,4124,766],{"class":752},[654,4126,769],{"class":664},[654,4128,4129,4131,4133,4135,4137],{"class":656,"line":772},[654,4130,775],{"class":752},[654,4132,778],{"class":668},[654,4134,781],{"class":664},[654,4136,669],{"class":745},[654,4138,1024],{"class":786},[654,4140,4141],{"class":656,"line":794},[654,4142,733],{"emptyLinePlaceholder":732},[654,4144,4145,4147,4149,4151,4153,4155,4157,4159,4161,4163],{"class":656,"line":799},[654,4146,775],{"class":752},[654,4148,665],{"class":664},[654,4150,825],{"class":668},[654,4152,672],{"class":664},[654,4154,781],{"class":664},[654,4156,832],{"class":660},[654,4158,1501],{"class":668},[654,4160,855],{"class":664},[654,4162,1506],{"class":745},[654,4164,1024],{"class":786},[654,4166,4167,4169,4171,4173,4175,4177,4179,4181],{"class":656,"line":818},[654,4168,775],{"class":752},[654,4170,804],{"class":668},[654,4172,781],{"class":664},[654,4174,715],{"class":745},[654,4176,749],{"class":786},[654,4178,813],{"class":668},[654,4180,880],{"class":664},[654,4182,769],{"class":664},[654,4184,4185,4187,4189,4191,4193,4195,4197],{"class":656,"line":844},[654,4186,3546],{"class":786},[654,4188,869],{"class":664},[654,4190,665],{"class":664},[654,4192,3553],{"class":786},[654,4194,869],{"class":664},[654,4196,3559],{"class":3558},[654,4198,3562],{"class":664},[654,4200,4201,4203],{"class":656,"line":849},[654,4202,1001],{"class":664},[654,4204,791],{"class":786},[654,4206,4207],{"class":656,"line":899},[654,4208,733],{"emptyLinePlaceholder":732},[654,4210,4211,4213,4215,4217,4219,4221,4223],{"class":656,"line":904},[654,4212,775],{"class":752},[654,4214,3579],{"class":668},[654,4216,781],{"class":664},[654,4218,3584],{"class":664},[654,4220,3417],{"class":745},[654,4222,749],{"class":786},[654,4224,918],{"class":664},[654,4226,4227,4229,4231,4233,4235,4237,4239,4241,4243,4245,4247],{"class":656,"line":921},[654,4228,924],{"class":786},[654,4230,869],{"class":664},[654,4232,804],{"class":668},[654,4234,855],{"class":664},[654,4236,933],{"class":745},[654,4238,749],{"class":786},[654,4240,877],{"class":664},[654,4242,940],{"class":681},[654,4244,877],{"class":664},[654,4246,763],{"class":786},[654,4248,947],{"class":664},[654,4250,4251,4253,4255,4257,4259,4261,4263],{"class":656,"line":950},[654,4252,3619],{"class":786},[654,4254,869],{"class":664},[654,4256,665],{"class":664},[654,4258,3626],{"class":668},[654,4260,880],{"class":664},[654,4262,3631],{"class":668},[654,4264,3562],{"class":664},[654,4266,4267,4269,4271,4273,4275,4277,4279],{"class":656,"line":958},[654,4268,3638],{"class":786},[654,4270,869],{"class":664},[654,4272,3427],{"class":745},[654,4274,749],{"class":786},[654,4276,3647],{"class":3558},[654,4278,763],{"class":786},[654,4280,947],{"class":664},[654,4282,4283,4285],{"class":656,"line":979},[654,4284,1001],{"class":664},[654,4286,791],{"class":786},[654,4288,4289],{"class":656,"line":992},[654,4290,733],{"emptyLinePlaceholder":732},[654,4292,4293,4295,4297,4299],{"class":656,"line":998},[654,4294,1014],{"class":660},[654,4296,3422],{"class":745},[654,4298,749],{"class":786},[654,4300,918],{"class":664},[654,4302,4303,4305],{"class":656,"line":1006},[654,4304,3676],{"class":668},[654,4306,947],{"class":664},[654,4308,4309,4311,4313,4315],{"class":656,"line":1011},[654,4310,3683],{"class":786},[654,4312,869],{"class":664},[654,4314,825],{"class":668},[654,4316,947],{"class":664},[654,4318,4319,4321],{"class":656,"line":1027},[654,4320,1001],{"class":664},[654,4322,791],{"class":786},[654,4324,4325,4327],{"class":656,"line":1342},[654,4326,1030],{"class":664},[654,4328,791],{"class":668},[644,4330,4332],{"className":646,"code":4331,"filename":275,"language":648,"meta":1660,"style":650},"import { ToolLoopAgent, createAgentUIStreamResponse, stepCountIs } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fagent', async (c) => {\n  const log = c.get('log')\n\n  const { messages } = await c.req.json()\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",[613,4333,4334,4360,4378,4382,4413,4437,4441,4467,4485,4501,4507,4511,4527,4551,4567,4583,4589,4593,4603,4609,4619,4625],{"__ignoreMap":650},[654,4335,4336,4338,4340,4342,4344,4346,4348,4350,4352,4354,4356,4358],{"class":656,"line":657},[654,4337,661],{"class":660},[654,4339,665],{"class":664},[654,4341,3417],{"class":668},[654,4343,880],{"class":664},[654,4345,3422],{"class":668},[654,4347,880],{"class":664},[654,4349,3427],{"class":668},[654,4351,672],{"class":664},[654,4353,675],{"class":660},[654,4355,678],{"class":664},[654,4357,630],{"class":681},[654,4359,685],{"class":664},[654,4361,4362,4364,4366,4368,4370,4372,4374,4376],{"class":656,"line":688},[654,4363,661],{"class":660},[654,4365,665],{"class":664},[654,4367,715],{"class":668},[654,4369,672],{"class":664},[654,4371,675],{"class":660},[654,4373,678],{"class":664},[654,4375,724],{"class":681},[654,4377,685],{"class":664},[654,4379,4380],{"class":656,"line":708},[654,4381,733],{"emptyLinePlaceholder":732},[654,4383,4384,4386,4388,4390,4392,4394,4397,4399,4401,4403,4405,4407,4409,4411],{"class":656,"line":729},[654,4385,1707],{"class":668},[654,4387,855],{"class":664},[654,4389,1712],{"class":745},[654,4391,749],{"class":668},[654,4393,877],{"class":664},[654,4395,4396],{"class":681},"\u002Fapi\u002Fagent",[654,4398,877],{"class":664},[654,4400,880],{"class":664},[654,4402,1726],{"class":752},[654,4404,756],{"class":664},[654,4406,1731],{"class":759},[654,4408,763],{"class":664},[654,4410,766],{"class":752},[654,4412,769],{"class":664},[654,4414,4415,4417,4419,4421,4423,4425,4427,4429,4431,4433,4435],{"class":656,"line":736},[654,4416,775],{"class":752},[654,4418,778],{"class":668},[654,4420,781],{"class":664},[654,4422,1748],{"class":668},[654,4424,855],{"class":664},[654,4426,1753],{"class":745},[654,4428,749],{"class":786},[654,4430,877],{"class":664},[654,4432,813],{"class":681},[654,4434,877],{"class":664},[654,4436,791],{"class":786},[654,4438,4439],{"class":656,"line":772},[654,4440,733],{"emptyLinePlaceholder":732},[654,4442,4443,4445,4447,4449,4451,4453,4455,4457,4459,4461,4463,4465],{"class":656,"line":794},[654,4444,775],{"class":752},[654,4446,665],{"class":664},[654,4448,825],{"class":668},[654,4450,672],{"class":664},[654,4452,781],{"class":664},[654,4454,832],{"class":660},[654,4456,1748],{"class":668},[654,4458,855],{"class":664},[654,4460,1804],{"class":668},[654,4462,855],{"class":664},[654,4464,1506],{"class":745},[654,4466,1024],{"class":786},[654,4468,4469,4471,4473,4475,4477,4479,4481,4483],{"class":656,"line":799},[654,4470,775],{"class":752},[654,4472,804],{"class":668},[654,4474,781],{"class":664},[654,4476,715],{"class":745},[654,4478,749],{"class":786},[654,4480,813],{"class":668},[654,4482,880],{"class":664},[654,4484,769],{"class":664},[654,4486,4487,4489,4491,4493,4495,4497,4499],{"class":656,"line":818},[654,4488,3546],{"class":786},[654,4490,869],{"class":664},[654,4492,665],{"class":664},[654,4494,3553],{"class":786},[654,4496,869],{"class":664},[654,4498,3559],{"class":3558},[654,4500,3562],{"class":664},[654,4502,4503,4505],{"class":656,"line":844},[654,4504,1001],{"class":664},[654,4506,791],{"class":786},[654,4508,4509],{"class":656,"line":849},[654,4510,733],{"emptyLinePlaceholder":732},[654,4512,4513,4515,4517,4519,4521,4523,4525],{"class":656,"line":899},[654,4514,775],{"class":752},[654,4516,3579],{"class":668},[654,4518,781],{"class":664},[654,4520,3584],{"class":664},[654,4522,3417],{"class":745},[654,4524,749],{"class":786},[654,4526,918],{"class":664},[654,4528,4529,4531,4533,4535,4537,4539,4541,4543,4545,4547,4549],{"class":656,"line":904},[654,4530,924],{"class":786},[654,4532,869],{"class":664},[654,4534,804],{"class":668},[654,4536,855],{"class":664},[654,4538,933],{"class":745},[654,4540,749],{"class":786},[654,4542,877],{"class":664},[654,4544,940],{"class":681},[654,4546,877],{"class":664},[654,4548,763],{"class":786},[654,4550,947],{"class":664},[654,4552,4553,4555,4557,4559,4561,4563,4565],{"class":656,"line":921},[654,4554,3619],{"class":786},[654,4556,869],{"class":664},[654,4558,665],{"class":664},[654,4560,3626],{"class":668},[654,4562,880],{"class":664},[654,4564,3631],{"class":668},[654,4566,3562],{"class":664},[654,4568,4569,4571,4573,4575,4577,4579,4581],{"class":656,"line":950},[654,4570,3638],{"class":786},[654,4572,869],{"class":664},[654,4574,3427],{"class":745},[654,4576,749],{"class":786},[654,4578,3647],{"class":3558},[654,4580,763],{"class":786},[654,4582,947],{"class":664},[654,4584,4585,4587],{"class":656,"line":958},[654,4586,1001],{"class":664},[654,4588,791],{"class":786},[654,4590,4591],{"class":656,"line":979},[654,4592,733],{"emptyLinePlaceholder":732},[654,4594,4595,4597,4599,4601],{"class":656,"line":992},[654,4596,1014],{"class":660},[654,4598,3422],{"class":745},[654,4600,749],{"class":786},[654,4602,918],{"class":664},[654,4604,4605,4607],{"class":656,"line":998},[654,4606,3676],{"class":668},[654,4608,947],{"class":664},[654,4610,4611,4613,4615,4617],{"class":656,"line":1006},[654,4612,3683],{"class":786},[654,4614,869],{"class":664},[654,4616,825],{"class":668},[654,4618,947],{"class":664},[654,4620,4621,4623],{"class":656,"line":1011},[654,4622,1001],{"class":664},[654,4624,791],{"class":786},[654,4626,4627,4629],{"class":656,"line":1027},[654,4628,1030],{"class":664},[654,4630,791],{"class":668},[644,4632,4634],{"className":646,"code":4633,"filename":270,"language":648,"meta":1660,"style":650},"import { ToolLoopAgent, pipeAgentUIStreamToResponse, stepCountIs } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fagent', async (req, res) => {\n  const log = req.log\n\n  const { messages } = req.body\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  await pipeAgentUIStreamToResponse({\n    response: res,\n    agent,\n    uiMessages: messages,\n  })\n})\n",[613,4635,4636,4663,4681,4685,4719,4733,4737,4755,4773,4789,4795,4799,4815,4839,4855,4871,4877,4881,4892,4903,4909,4919,4925],{"__ignoreMap":650},[654,4637,4638,4640,4642,4644,4646,4649,4651,4653,4655,4657,4659,4661],{"class":656,"line":657},[654,4639,661],{"class":660},[654,4641,665],{"class":664},[654,4643,3417],{"class":668},[654,4645,880],{"class":664},[654,4647,4648],{"class":668}," pipeAgentUIStreamToResponse",[654,4650,880],{"class":664},[654,4652,3427],{"class":668},[654,4654,672],{"class":664},[654,4656,675],{"class":660},[654,4658,678],{"class":664},[654,4660,630],{"class":681},[654,4662,685],{"class":664},[654,4664,4665,4667,4669,4671,4673,4675,4677,4679],{"class":656,"line":688},[654,4666,661],{"class":660},[654,4668,665],{"class":664},[654,4670,715],{"class":668},[654,4672,672],{"class":664},[654,4674,675],{"class":660},[654,4676,678],{"class":664},[654,4678,724],{"class":681},[654,4680,685],{"class":664},[654,4682,4683],{"class":656,"line":708},[654,4684,733],{"emptyLinePlaceholder":732},[654,4686,4687,4689,4691,4693,4695,4697,4699,4701,4703,4705,4707,4709,4711,4713,4715,4717],{"class":656,"line":729},[654,4688,1707],{"class":668},[654,4690,855],{"class":664},[654,4692,1712],{"class":745},[654,4694,749],{"class":668},[654,4696,877],{"class":664},[654,4698,4396],{"class":681},[654,4700,877],{"class":664},[654,4702,880],{"class":664},[654,4704,1726],{"class":752},[654,4706,756],{"class":664},[654,4708,1804],{"class":759},[654,4710,880],{"class":664},[654,4712,2032],{"class":759},[654,4714,763],{"class":664},[654,4716,766],{"class":752},[654,4718,769],{"class":664},[654,4720,4721,4723,4725,4727,4729,4731],{"class":656,"line":736},[654,4722,775],{"class":752},[654,4724,778],{"class":668},[654,4726,781],{"class":664},[654,4728,2049],{"class":668},[654,4730,855],{"class":664},[654,4732,2054],{"class":668},[654,4734,4735],{"class":656,"line":772},[654,4736,733],{"emptyLinePlaceholder":732},[654,4738,4739,4741,4743,4745,4747,4749,4751,4753],{"class":656,"line":794},[654,4740,775],{"class":752},[654,4742,665],{"class":664},[654,4744,825],{"class":668},[654,4746,672],{"class":664},[654,4748,781],{"class":664},[654,4750,2049],{"class":668},[654,4752,855],{"class":664},[654,4754,2093],{"class":668},[654,4756,4757,4759,4761,4763,4765,4767,4769,4771],{"class":656,"line":799},[654,4758,775],{"class":752},[654,4760,804],{"class":668},[654,4762,781],{"class":664},[654,4764,715],{"class":745},[654,4766,749],{"class":786},[654,4768,813],{"class":668},[654,4770,880],{"class":664},[654,4772,769],{"class":664},[654,4774,4775,4777,4779,4781,4783,4785,4787],{"class":656,"line":818},[654,4776,3546],{"class":786},[654,4778,869],{"class":664},[654,4780,665],{"class":664},[654,4782,3553],{"class":786},[654,4784,869],{"class":664},[654,4786,3559],{"class":3558},[654,4788,3562],{"class":664},[654,4790,4791,4793],{"class":656,"line":844},[654,4792,1001],{"class":664},[654,4794,791],{"class":786},[654,4796,4797],{"class":656,"line":849},[654,4798,733],{"emptyLinePlaceholder":732},[654,4800,4801,4803,4805,4807,4809,4811,4813],{"class":656,"line":899},[654,4802,775],{"class":752},[654,4804,3579],{"class":668},[654,4806,781],{"class":664},[654,4808,3584],{"class":664},[654,4810,3417],{"class":745},[654,4812,749],{"class":786},[654,4814,918],{"class":664},[654,4816,4817,4819,4821,4823,4825,4827,4829,4831,4833,4835,4837],{"class":656,"line":904},[654,4818,924],{"class":786},[654,4820,869],{"class":664},[654,4822,804],{"class":668},[654,4824,855],{"class":664},[654,4826,933],{"class":745},[654,4828,749],{"class":786},[654,4830,877],{"class":664},[654,4832,940],{"class":681},[654,4834,877],{"class":664},[654,4836,763],{"class":786},[654,4838,947],{"class":664},[654,4840,4841,4843,4845,4847,4849,4851,4853],{"class":656,"line":921},[654,4842,3619],{"class":786},[654,4844,869],{"class":664},[654,4846,665],{"class":664},[654,4848,3626],{"class":668},[654,4850,880],{"class":664},[654,4852,3631],{"class":668},[654,4854,3562],{"class":664},[654,4856,4857,4859,4861,4863,4865,4867,4869],{"class":656,"line":950},[654,4858,3638],{"class":786},[654,4860,869],{"class":664},[654,4862,3427],{"class":745},[654,4864,749],{"class":786},[654,4866,3647],{"class":3558},[654,4868,763],{"class":786},[654,4870,947],{"class":664},[654,4872,4873,4875],{"class":656,"line":958},[654,4874,1001],{"class":664},[654,4876,791],{"class":786},[654,4878,4879],{"class":656,"line":979},[654,4880,733],{"emptyLinePlaceholder":732},[654,4882,4883,4886,4888,4890],{"class":656,"line":992},[654,4884,4885],{"class":660},"  await",[654,4887,4648],{"class":745},[654,4889,749],{"class":786},[654,4891,918],{"class":664},[654,4893,4894,4897,4899,4901],{"class":656,"line":998},[654,4895,4896],{"class":786},"    response",[654,4898,869],{"class":664},[654,4900,2032],{"class":668},[654,4902,947],{"class":664},[654,4904,4905,4907],{"class":656,"line":1006},[654,4906,3676],{"class":668},[654,4908,947],{"class":664},[654,4910,4911,4913,4915,4917],{"class":656,"line":1011},[654,4912,3683],{"class":786},[654,4914,869],{"class":664},[654,4916,825],{"class":668},[654,4918,947],{"class":664},[654,4920,4921,4923],{"class":656,"line":1027},[654,4922,1001],{"class":664},[654,4924,791],{"class":786},[654,4926,4927,4929],{"class":656,"line":1342},[654,4928,1030],{"class":664},[654,4930,791],{"class":668},[609,4932,4933],{},"Wide event after a 3-step agent run:",[644,4935,4939],{"className":4936,"code":4937,"filename":4938,"language":1506,"meta":650,"style":650},"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",[613,4940,4941,4945,4959,4976,4991,5012,5032,5048,5064,5080,5100,5114,5168,5219,5268,5273,5293,5306,5373,5447,5492,5496,5512,5528,5542,5548],{"__ignoreMap":650},[654,4942,4943],{"class":656,"line":657},[654,4944,918],{"class":664},[654,4946,4947,4950,4952,4955,4957],{"class":656,"line":688},[654,4948,4949],{"class":664},"  \"",[654,4951,630],{"class":752},[654,4953,4954],{"class":664},"\"",[654,4956,869],{"class":664},[654,4958,769],{"class":664},[654,4960,4961,4964,4967,4969,4971,4974],{"class":656,"line":708},[654,4962,4963],{"class":664},"    \"",[654,4965,4966],{"class":1445},"calls",[654,4968,4954],{"class":664},[654,4970,869],{"class":664},[654,4972,4973],{"class":3558}," 3",[654,4975,947],{"class":664},[654,4977,4978,4980,4983,4985,4987,4989],{"class":656,"line":729},[654,4979,4963],{"class":664},[654,4981,4982],{"class":1445},"steps",[654,4984,4954],{"class":664},[654,4986,869],{"class":664},[654,4988,4973],{"class":3558},[654,4990,947],{"class":664},[654,4992,4993,4995,4998,5000,5002,5005,5008,5010],{"class":656,"line":736},[654,4994,4963],{"class":664},[654,4996,4997],{"class":1445},"model",[654,4999,4954],{"class":664},[654,5001,869],{"class":664},[654,5003,5004],{"class":664}," \"",[654,5006,5007],{"class":681},"claude-sonnet-4.6",[654,5009,4954],{"class":664},[654,5011,947],{"class":664},[654,5013,5014,5016,5019,5021,5023,5025,5028,5030],{"class":656,"line":772},[654,5015,4963],{"class":664},[654,5017,5018],{"class":1445},"provider",[654,5020,4954],{"class":664},[654,5022,869],{"class":664},[654,5024,5004],{"class":664},[654,5026,5027],{"class":681},"anthropic",[654,5029,4954],{"class":664},[654,5031,947],{"class":664},[654,5033,5034,5036,5039,5041,5043,5046],{"class":656,"line":794},[654,5035,4963],{"class":664},[654,5037,5038],{"class":1445},"inputTokens",[654,5040,4954],{"class":664},[654,5042,869],{"class":664},[654,5044,5045],{"class":3558}," 4500",[654,5047,947],{"class":664},[654,5049,5050,5052,5055,5057,5059,5062],{"class":656,"line":799},[654,5051,4963],{"class":664},[654,5053,5054],{"class":1445},"outputTokens",[654,5056,4954],{"class":664},[654,5058,869],{"class":664},[654,5060,5061],{"class":3558}," 1200",[654,5063,947],{"class":664},[654,5065,5066,5068,5071,5073,5075,5078],{"class":656,"line":818},[654,5067,4963],{"class":664},[654,5069,5070],{"class":1445},"totalTokens",[654,5072,4954],{"class":664},[654,5074,869],{"class":664},[654,5076,5077],{"class":3558}," 5700",[654,5079,947],{"class":664},[654,5081,5082,5084,5087,5089,5091,5093,5096,5098],{"class":656,"line":844},[654,5083,4963],{"class":664},[654,5085,5086],{"class":1445},"finishReason",[654,5088,4954],{"class":664},[654,5090,869],{"class":664},[654,5092,5004],{"class":664},[654,5094,5095],{"class":681},"stop",[654,5097,4954],{"class":664},[654,5099,947],{"class":664},[654,5101,5102,5104,5107,5109,5111],{"class":656,"line":849},[654,5103,4963],{"class":664},[654,5105,5106],{"class":1445},"toolCalls",[654,5108,4954],{"class":664},[654,5110,869],{"class":664},[654,5112,5113],{"class":664}," [\n",[654,5115,5116,5119,5121,5124,5126,5128,5130,5133,5135,5137,5139,5142,5144,5146,5148,5150,5153,5155,5157,5159,5162,5164,5166],{"class":656,"line":899},[654,5117,5118],{"class":664},"      {",[654,5120,5004],{"class":664},[654,5122,5123],{"class":3558},"name",[654,5125,4954],{"class":664},[654,5127,869],{"class":664},[654,5129,5004],{"class":664},[654,5131,5132],{"class":681},"searchWeb",[654,5134,4954],{"class":664},[654,5136,880],{"class":664},[654,5138,5004],{"class":664},[654,5140,5141],{"class":3558},"input",[654,5143,4954],{"class":664},[654,5145,869],{"class":664},[654,5147,665],{"class":664},[654,5149,5004],{"class":664},[654,5151,5152],{"class":786},"query",[654,5154,4954],{"class":664},[654,5156,869],{"class":664},[654,5158,5004],{"class":664},[654,5160,5161],{"class":681},"TypeScript 6.0 features",[654,5163,4954],{"class":664},[654,5165,672],{"class":664},[654,5167,3562],{"class":664},[654,5169,5170,5172,5174,5176,5178,5180,5182,5185,5187,5189,5191,5193,5195,5197,5199,5201,5204,5206,5208,5210,5213,5215,5217],{"class":656,"line":904},[654,5171,5118],{"class":664},[654,5173,5004],{"class":664},[654,5175,5123],{"class":3558},[654,5177,4954],{"class":664},[654,5179,869],{"class":664},[654,5181,5004],{"class":664},[654,5183,5184],{"class":681},"queryDatabase",[654,5186,4954],{"class":664},[654,5188,880],{"class":664},[654,5190,5004],{"class":664},[654,5192,5141],{"class":3558},[654,5194,4954],{"class":664},[654,5196,869],{"class":664},[654,5198,665],{"class":664},[654,5200,5004],{"class":664},[654,5202,5203],{"class":786},"sql",[654,5205,4954],{"class":664},[654,5207,869],{"class":664},[654,5209,5004],{"class":664},[654,5211,5212],{"class":681},"SELECT * FROM docs WHERE topic = 'typescript'",[654,5214,4954],{"class":664},[654,5216,672],{"class":664},[654,5218,3562],{"class":664},[654,5220,5221,5223,5225,5227,5229,5231,5233,5235,5237,5239,5241,5243,5245,5247,5249,5251,5253,5255,5257,5259,5262,5264,5266],{"class":656,"line":921},[654,5222,5118],{"class":664},[654,5224,5004],{"class":664},[654,5226,5123],{"class":3558},[654,5228,4954],{"class":664},[654,5230,869],{"class":664},[654,5232,5004],{"class":664},[654,5234,5132],{"class":681},[654,5236,4954],{"class":664},[654,5238,880],{"class":664},[654,5240,5004],{"class":664},[654,5242,5141],{"class":3558},[654,5244,4954],{"class":664},[654,5246,869],{"class":664},[654,5248,665],{"class":664},[654,5250,5004],{"class":664},[654,5252,5152],{"class":786},[654,5254,4954],{"class":664},[654,5256,869],{"class":664},[654,5258,5004],{"class":664},[654,5260,5261],{"class":681},"TypeScript 6.0 release date",[654,5263,4954],{"class":664},[654,5265,672],{"class":664},[654,5267,2474],{"class":664},[654,5269,5270],{"class":656,"line":950},[654,5271,5272],{"class":664},"    ],\n",[654,5274,5275,5277,5280,5282,5284,5286,5289,5291],{"class":656,"line":958},[654,5276,4963],{"class":664},[654,5278,5279],{"class":1445},"responseId",[654,5281,4954],{"class":664},[654,5283,869],{"class":664},[654,5285,5004],{"class":664},[654,5287,5288],{"class":681},"msg_01XFDUDYJgAACzvnptvVoYEL",[654,5290,4954],{"class":664},[654,5292,947],{"class":664},[654,5294,5295,5297,5300,5302,5304],{"class":656,"line":979},[654,5296,4963],{"class":664},[654,5298,5299],{"class":1445},"stepsUsage",[654,5301,4954],{"class":664},[654,5303,869],{"class":664},[654,5305,5113],{"class":664},[654,5307,5308,5310,5312,5314,5316,5318,5320,5322,5324,5326,5328,5330,5332,5334,5336,5338,5340,5342,5344,5346,5349,5351,5353,5355,5357,5359,5362,5364,5366,5368,5371],{"class":656,"line":992},[654,5309,5118],{"class":664},[654,5311,5004],{"class":664},[654,5313,4997],{"class":3558},[654,5315,4954],{"class":664},[654,5317,869],{"class":664},[654,5319,5004],{"class":664},[654,5321,5007],{"class":681},[654,5323,4954],{"class":664},[654,5325,880],{"class":664},[654,5327,5004],{"class":664},[654,5329,5038],{"class":3558},[654,5331,4954],{"class":664},[654,5333,869],{"class":664},[654,5335,5061],{"class":3558},[654,5337,880],{"class":664},[654,5339,5004],{"class":664},[654,5341,5054],{"class":3558},[654,5343,4954],{"class":664},[654,5345,869],{"class":664},[654,5347,5348],{"class":3558}," 300",[654,5350,880],{"class":664},[654,5352,5004],{"class":664},[654,5354,5106],{"class":3558},[654,5356,4954],{"class":664},[654,5358,869],{"class":664},[654,5360,5361],{"class":664}," [",[654,5363,4954],{"class":664},[654,5365,5132],{"class":681},[654,5367,4954],{"class":664},[654,5369,5370],{"class":664},"]",[654,5372,3562],{"class":664},[654,5374,5375,5377,5379,5381,5383,5385,5387,5389,5391,5393,5395,5397,5399,5401,5404,5406,5408,5410,5412,5414,5417,5419,5421,5423,5425,5427,5429,5431,5433,5435,5437,5439,5441,5443,5445],{"class":656,"line":998},[654,5376,5118],{"class":664},[654,5378,5004],{"class":664},[654,5380,4997],{"class":3558},[654,5382,4954],{"class":664},[654,5384,869],{"class":664},[654,5386,5004],{"class":664},[654,5388,5007],{"class":681},[654,5390,4954],{"class":664},[654,5392,880],{"class":664},[654,5394,5004],{"class":664},[654,5396,5038],{"class":3558},[654,5398,4954],{"class":664},[654,5400,869],{"class":664},[654,5402,5403],{"class":3558}," 1500",[654,5405,880],{"class":664},[654,5407,5004],{"class":664},[654,5409,5054],{"class":3558},[654,5411,4954],{"class":664},[654,5413,869],{"class":664},[654,5415,5416],{"class":3558}," 400",[654,5418,880],{"class":664},[654,5420,5004],{"class":664},[654,5422,5106],{"class":3558},[654,5424,4954],{"class":664},[654,5426,869],{"class":664},[654,5428,5361],{"class":664},[654,5430,4954],{"class":664},[654,5432,5184],{"class":681},[654,5434,4954],{"class":664},[654,5436,880],{"class":664},[654,5438,5004],{"class":664},[654,5440,5132],{"class":681},[654,5442,4954],{"class":664},[654,5444,5370],{"class":664},[654,5446,3562],{"class":664},[654,5448,5449,5451,5453,5455,5457,5459,5461,5463,5465,5467,5469,5471,5473,5475,5478,5480,5482,5484,5486,5488,5490],{"class":656,"line":1006},[654,5450,5118],{"class":664},[654,5452,5004],{"class":664},[654,5454,4997],{"class":3558},[654,5456,4954],{"class":664},[654,5458,869],{"class":664},[654,5460,5004],{"class":664},[654,5462,5007],{"class":681},[654,5464,4954],{"class":664},[654,5466,880],{"class":664},[654,5468,5004],{"class":664},[654,5470,5038],{"class":3558},[654,5472,4954],{"class":664},[654,5474,869],{"class":664},[654,5476,5477],{"class":3558}," 1800",[654,5479,880],{"class":664},[654,5481,5004],{"class":664},[654,5483,5054],{"class":3558},[654,5485,4954],{"class":664},[654,5487,869],{"class":664},[654,5489,3559],{"class":3558},[654,5491,2474],{"class":664},[654,5493,5494],{"class":656,"line":1011},[654,5495,5272],{"class":664},[654,5497,5498,5500,5503,5505,5507,5510],{"class":656,"line":1027},[654,5499,4963],{"class":664},[654,5501,5502],{"class":1445},"msToFirstChunk",[654,5504,4954],{"class":664},[654,5506,869],{"class":664},[654,5508,5509],{"class":3558}," 312",[654,5511,947],{"class":664},[654,5513,5514,5516,5519,5521,5523,5526],{"class":656,"line":1342},[654,5515,4963],{"class":664},[654,5517,5518],{"class":1445},"msToFinish",[654,5520,4954],{"class":664},[654,5522,869],{"class":664},[654,5524,5525],{"class":3558}," 8200",[654,5527,947],{"class":664},[654,5529,5530,5532,5535,5537,5539],{"class":656,"line":4016},[654,5531,4963],{"class":664},[654,5533,5534],{"class":1445},"tokensPerSecond",[654,5536,4954],{"class":664},[654,5538,869],{"class":664},[654,5540,5541],{"class":3558}," 146\n",[654,5543,5545],{"class":656,"line":5544},25,[654,5546,5547],{"class":664},"  }\n",[654,5549,5551],{"class":656,"line":5550},26,[654,5552,5553],{"class":664},"}\n",[5555,5556,5557,5558,5564],"tip",{},"Pair this with ",[5559,5560,5561],"a",{"href":357},[613,5562,5563],{},"createEvlogIntegration"," to also capture per-tool execution timing and the agent's total wall time.",[633,5566,5568],{"id":5567},"rag-embed-generate","RAG (embed + generate)",[609,5570,5571,5572,5575],{},"Embedding models use a different type that cannot be wrapped with middleware. Use ",[613,5573,5574],{},"captureEmbed"," instead:",[641,5577,5578,5954,6331,6699,7065],{},[644,5579,5582],{"className":646,"code":5580,"filename":240,"language":648,"meta":5581,"style":650},"import { useLogger } from 'evlog'\nimport { embed, generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\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",[613,5583,5584,5602,5625,5643,5647,5669,5685,5689,5705,5709,5735,5762,5774,5780,5793,5800,5814,5826,5832,5836,5856,5860,5876,5900,5918,5924,5928,5947],{"__ignoreMap":650},[654,5585,5586,5588,5590,5592,5594,5596,5598,5600],{"class":656,"line":657},[654,5587,661],{"class":660},[654,5589,665],{"class":664},[654,5591,669],{"class":668},[654,5593,672],{"class":664},[654,5595,675],{"class":660},[654,5597,678],{"class":664},[654,5599,682],{"class":681},[654,5601,685],{"class":664},[654,5603,5604,5606,5608,5611,5613,5615,5617,5619,5621,5623],{"class":656,"line":688},[654,5605,661],{"class":660},[654,5607,665],{"class":664},[654,5609,5610],{"class":668}," embed",[654,5612,880],{"class":664},[654,5614,2295],{"class":668},[654,5616,672],{"class":664},[654,5618,675],{"class":660},[654,5620,678],{"class":664},[654,5622,630],{"class":681},[654,5624,685],{"class":664},[654,5626,5627,5629,5631,5633,5635,5637,5639,5641],{"class":656,"line":708},[654,5628,661],{"class":660},[654,5630,665],{"class":664},[654,5632,715],{"class":668},[654,5634,672],{"class":664},[654,5636,675],{"class":660},[654,5638,678],{"class":664},[654,5640,724],{"class":681},[654,5642,685],{"class":664},[654,5644,5645],{"class":656,"line":729},[654,5646,733],{"emptyLinePlaceholder":732},[654,5648,5649,5651,5653,5655,5657,5659,5661,5663,5665,5667],{"class":656,"line":736},[654,5650,739],{"class":660},[654,5652,742],{"class":660},[654,5654,746],{"class":745},[654,5656,749],{"class":668},[654,5658,753],{"class":752},[654,5660,756],{"class":664},[654,5662,760],{"class":759},[654,5664,763],{"class":664},[654,5666,766],{"class":752},[654,5668,769],{"class":664},[654,5670,5671,5673,5675,5677,5679,5681,5683],{"class":656,"line":772},[654,5672,775],{"class":752},[654,5674,778],{"class":668},[654,5676,781],{"class":664},[654,5678,669],{"class":745},[654,5680,749],{"class":786},[654,5682,760],{"class":668},[654,5684,791],{"class":786},[654,5686,5687],{"class":656,"line":794},[654,5688,733],{"emptyLinePlaceholder":732},[654,5690,5691,5693,5695,5697,5699,5701,5703],{"class":656,"line":799},[654,5692,775],{"class":752},[654,5694,804],{"class":668},[654,5696,781],{"class":664},[654,5698,715],{"class":745},[654,5700,749],{"class":786},[654,5702,813],{"class":668},[654,5704,791],{"class":786},[654,5706,5707],{"class":656,"line":818},[654,5708,733],{"emptyLinePlaceholder":732},[654,5710,5711,5713,5715,5718,5720,5723,5725,5727,5729,5731,5733],{"class":656,"line":844},[654,5712,775],{"class":752},[654,5714,665],{"class":664},[654,5716,5717],{"class":668}," embedding",[654,5719,880],{"class":664},[654,5721,5722],{"class":668}," usage",[654,5724,672],{"class":664},[654,5726,781],{"class":664},[654,5728,832],{"class":660},[654,5730,5610],{"class":745},[654,5732,749],{"class":786},[654,5734,918],{"class":664},[654,5736,5737,5739,5741,5744,5746,5749,5751,5753,5756,5758,5760],{"class":656,"line":849},[654,5738,924],{"class":786},[654,5740,869],{"class":664},[654,5742,5743],{"class":668}," openai",[654,5745,855],{"class":664},[654,5747,5748],{"class":745},"embedding",[654,5750,749],{"class":786},[654,5752,877],{"class":664},[654,5754,5755],{"class":681},"text-embedding-3-small",[654,5757,877],{"class":664},[654,5759,763],{"class":786},[654,5761,947],{"class":664},[654,5763,5764,5767,5769,5772],{"class":656,"line":899},[654,5765,5766],{"class":786},"    value",[654,5768,869],{"class":664},[654,5770,5771],{"class":668}," query",[654,5773,947],{"class":664},[654,5775,5776,5778],{"class":656,"line":904},[654,5777,1001],{"class":664},[654,5779,791],{"class":786},[654,5781,5782,5785,5787,5789,5791],{"class":656,"line":921},[654,5783,5784],{"class":668},"  ai",[654,5786,855],{"class":664},[654,5788,5574],{"class":745},[654,5790,749],{"class":786},[654,5792,918],{"class":664},[654,5794,5795,5798],{"class":656,"line":950},[654,5796,5797],{"class":668},"    usage",[654,5799,947],{"class":664},[654,5801,5802,5804,5806,5808,5810,5812],{"class":656,"line":958},[654,5803,924],{"class":786},[654,5805,869],{"class":664},[654,5807,678],{"class":664},[654,5809,5755],{"class":681},[654,5811,877],{"class":664},[654,5813,947],{"class":664},[654,5815,5816,5819,5821,5824],{"class":656,"line":979},[654,5817,5818],{"class":786},"    dimensions",[654,5820,869],{"class":664},[654,5822,5823],{"class":3558}," 1536",[654,5825,947],{"class":664},[654,5827,5828,5830],{"class":656,"line":992},[654,5829,1001],{"class":664},[654,5831,791],{"class":786},[654,5833,5834],{"class":656,"line":998},[654,5835,733],{"emptyLinePlaceholder":732},[654,5837,5838,5840,5843,5845,5847,5850,5852,5854],{"class":656,"line":1006},[654,5839,775],{"class":752},[654,5841,5842],{"class":668}," docs",[654,5844,781],{"class":664},[654,5846,832],{"class":660},[654,5848,5849],{"class":745}," findSimilar",[654,5851,749],{"class":786},[654,5853,5748],{"class":668},[654,5855,791],{"class":786},[654,5857,5858],{"class":656,"line":1011},[654,5859,733],{"emptyLinePlaceholder":732},[654,5861,5862,5864,5866,5868,5870,5872,5874],{"class":656,"line":1027},[654,5863,775],{"class":752},[654,5865,909],{"class":668},[654,5867,781],{"class":664},[654,5869,832],{"class":660},[654,5871,2295],{"class":745},[654,5873,749],{"class":786},[654,5875,918],{"class":664},[654,5877,5878,5880,5882,5884,5886,5888,5890,5892,5894,5896,5898],{"class":656,"line":1342},[654,5879,924],{"class":786},[654,5881,869],{"class":664},[654,5883,804],{"class":668},[654,5885,855],{"class":664},[654,5887,933],{"class":745},[654,5889,749],{"class":786},[654,5891,877],{"class":664},[654,5893,940],{"class":681},[654,5895,877],{"class":664},[654,5897,763],{"class":786},[654,5899,947],{"class":664},[654,5901,5902,5904,5906,5909,5911,5914,5916],{"class":656,"line":4016},[654,5903,2434],{"class":786},[654,5905,869],{"class":664},[654,5907,5908],{"class":745}," buildPrompt",[654,5910,749],{"class":786},[654,5912,5913],{"class":668},"docs",[654,5915,763],{"class":786},[654,5917,947],{"class":664},[654,5919,5920,5922],{"class":656,"line":5544},[654,5921,1001],{"class":664},[654,5923,791],{"class":786},[654,5925,5926],{"class":656,"line":5550},[654,5927,733],{"emptyLinePlaceholder":732},[654,5929,5931,5933,5935,5937,5939,5941,5943,5945],{"class":656,"line":5930},27,[654,5932,1014],{"class":660},[654,5934,665],{"class":664},[654,5936,969],{"class":786},[654,5938,869],{"class":664},[654,5940,909],{"class":668},[654,5942,855],{"class":664},[654,5944,987],{"class":668},[654,5946,2474],{"class":664},[654,5948,5950,5952],{"class":656,"line":5949},28,[654,5951,1030],{"class":664},[654,5953,791],{"class":668},[644,5955,5958],{"className":646,"code":5956,"filename":255,"language":648,"meta":5957,"style":650},"import { defineHandler } from 'nitro\u002Fh3'\nimport { useLogger } from 'evlog\u002Fnitro\u002Fv3'\nimport { embed, generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n\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","routes\u002Fapi\u002Frag.post.ts",[613,5959,5960,5978,5996,6018,6036,6040,6062,6078,6082,6098,6102,6126,6150,6160,6166,6178,6184,6198,6208,6214,6218,6236,6240,6256,6280,6296,6302,6306,6324],{"__ignoreMap":650},[654,5961,5962,5964,5966,5968,5970,5972,5974,5976],{"class":656,"line":657},[654,5963,661],{"class":660},[654,5965,665],{"class":664},[654,5967,1047],{"class":668},[654,5969,672],{"class":664},[654,5971,675],{"class":660},[654,5973,678],{"class":664},[654,5975,1056],{"class":681},[654,5977,685],{"class":664},[654,5979,5980,5982,5984,5986,5988,5990,5992,5994],{"class":656,"line":688},[654,5981,661],{"class":660},[654,5983,665],{"class":664},[654,5985,669],{"class":668},[654,5987,672],{"class":664},[654,5989,675],{"class":660},[654,5991,678],{"class":664},[654,5993,1075],{"class":681},[654,5995,685],{"class":664},[654,5997,5998,6000,6002,6004,6006,6008,6010,6012,6014,6016],{"class":656,"line":708},[654,5999,661],{"class":660},[654,6001,665],{"class":664},[654,6003,5610],{"class":668},[654,6005,880],{"class":664},[654,6007,2295],{"class":668},[654,6009,672],{"class":664},[654,6011,675],{"class":660},[654,6013,678],{"class":664},[654,6015,630],{"class":681},[654,6017,685],{"class":664},[654,6019,6020,6022,6024,6026,6028,6030,6032,6034],{"class":656,"line":729},[654,6021,661],{"class":660},[654,6023,665],{"class":664},[654,6025,715],{"class":668},[654,6027,672],{"class":664},[654,6029,675],{"class":660},[654,6031,678],{"class":664},[654,6033,724],{"class":681},[654,6035,685],{"class":664},[654,6037,6038],{"class":656,"line":736},[654,6039,733],{"emptyLinePlaceholder":732},[654,6041,6042,6044,6046,6048,6050,6052,6054,6056,6058,6060],{"class":656,"line":772},[654,6043,739],{"class":660},[654,6045,742],{"class":660},[654,6047,1047],{"class":745},[654,6049,749],{"class":668},[654,6051,753],{"class":752},[654,6053,756],{"class":664},[654,6055,760],{"class":759},[654,6057,763],{"class":664},[654,6059,766],{"class":752},[654,6061,769],{"class":664},[654,6063,6064,6066,6068,6070,6072,6074,6076],{"class":656,"line":794},[654,6065,775],{"class":752},[654,6067,778],{"class":668},[654,6069,781],{"class":664},[654,6071,669],{"class":745},[654,6073,749],{"class":786},[654,6075,760],{"class":668},[654,6077,791],{"class":786},[654,6079,6080],{"class":656,"line":799},[654,6081,733],{"emptyLinePlaceholder":732},[654,6083,6084,6086,6088,6090,6092,6094,6096],{"class":656,"line":818},[654,6085,775],{"class":752},[654,6087,804],{"class":668},[654,6089,781],{"class":664},[654,6091,715],{"class":745},[654,6093,749],{"class":786},[654,6095,813],{"class":668},[654,6097,791],{"class":786},[654,6099,6100],{"class":656,"line":844},[654,6101,733],{"emptyLinePlaceholder":732},[654,6103,6104,6106,6108,6110,6112,6114,6116,6118,6120,6122,6124],{"class":656,"line":849},[654,6105,775],{"class":752},[654,6107,665],{"class":664},[654,6109,5717],{"class":668},[654,6111,880],{"class":664},[654,6113,5722],{"class":668},[654,6115,672],{"class":664},[654,6117,781],{"class":664},[654,6119,832],{"class":660},[654,6121,5610],{"class":745},[654,6123,749],{"class":786},[654,6125,918],{"class":664},[654,6127,6128,6130,6132,6134,6136,6138,6140,6142,6144,6146,6148],{"class":656,"line":899},[654,6129,924],{"class":786},[654,6131,869],{"class":664},[654,6133,5743],{"class":668},[654,6135,855],{"class":664},[654,6137,5748],{"class":745},[654,6139,749],{"class":786},[654,6141,877],{"class":664},[654,6143,5755],{"class":681},[654,6145,877],{"class":664},[654,6147,763],{"class":786},[654,6149,947],{"class":664},[654,6151,6152,6154,6156,6158],{"class":656,"line":904},[654,6153,5766],{"class":786},[654,6155,869],{"class":664},[654,6157,5771],{"class":668},[654,6159,947],{"class":664},[654,6161,6162,6164],{"class":656,"line":921},[654,6163,1001],{"class":664},[654,6165,791],{"class":786},[654,6167,6168,6170,6172,6174,6176],{"class":656,"line":950},[654,6169,5784],{"class":668},[654,6171,855],{"class":664},[654,6173,5574],{"class":745},[654,6175,749],{"class":786},[654,6177,918],{"class":664},[654,6179,6180,6182],{"class":656,"line":958},[654,6181,5797],{"class":668},[654,6183,947],{"class":664},[654,6185,6186,6188,6190,6192,6194,6196],{"class":656,"line":979},[654,6187,924],{"class":786},[654,6189,869],{"class":664},[654,6191,678],{"class":664},[654,6193,5755],{"class":681},[654,6195,877],{"class":664},[654,6197,947],{"class":664},[654,6199,6200,6202,6204,6206],{"class":656,"line":992},[654,6201,5818],{"class":786},[654,6203,869],{"class":664},[654,6205,5823],{"class":3558},[654,6207,947],{"class":664},[654,6209,6210,6212],{"class":656,"line":998},[654,6211,1001],{"class":664},[654,6213,791],{"class":786},[654,6215,6216],{"class":656,"line":1006},[654,6217,733],{"emptyLinePlaceholder":732},[654,6219,6220,6222,6224,6226,6228,6230,6232,6234],{"class":656,"line":1011},[654,6221,775],{"class":752},[654,6223,5842],{"class":668},[654,6225,781],{"class":664},[654,6227,832],{"class":660},[654,6229,5849],{"class":745},[654,6231,749],{"class":786},[654,6233,5748],{"class":668},[654,6235,791],{"class":786},[654,6237,6238],{"class":656,"line":1027},[654,6239,733],{"emptyLinePlaceholder":732},[654,6241,6242,6244,6246,6248,6250,6252,6254],{"class":656,"line":1342},[654,6243,775],{"class":752},[654,6245,909],{"class":668},[654,6247,781],{"class":664},[654,6249,832],{"class":660},[654,6251,2295],{"class":745},[654,6253,749],{"class":786},[654,6255,918],{"class":664},[654,6257,6258,6260,6262,6264,6266,6268,6270,6272,6274,6276,6278],{"class":656,"line":4016},[654,6259,924],{"class":786},[654,6261,869],{"class":664},[654,6263,804],{"class":668},[654,6265,855],{"class":664},[654,6267,933],{"class":745},[654,6269,749],{"class":786},[654,6271,877],{"class":664},[654,6273,940],{"class":681},[654,6275,877],{"class":664},[654,6277,763],{"class":786},[654,6279,947],{"class":664},[654,6281,6282,6284,6286,6288,6290,6292,6294],{"class":656,"line":5544},[654,6283,2434],{"class":786},[654,6285,869],{"class":664},[654,6287,5908],{"class":745},[654,6289,749],{"class":786},[654,6291,5913],{"class":668},[654,6293,763],{"class":786},[654,6295,947],{"class":664},[654,6297,6298,6300],{"class":656,"line":5550},[654,6299,1001],{"class":664},[654,6301,791],{"class":786},[654,6303,6304],{"class":656,"line":5930},[654,6305,733],{"emptyLinePlaceholder":732},[654,6307,6308,6310,6312,6314,6316,6318,6320,6322],{"class":656,"line":5949},[654,6309,1014],{"class":660},[654,6311,665],{"class":664},[654,6313,969],{"class":786},[654,6315,869],{"class":664},[654,6317,909],{"class":668},[654,6319,855],{"class":664},[654,6321,987],{"class":668},[654,6323,2474],{"class":664},[654,6325,6327,6329],{"class":656,"line":6326},29,[654,6328,1030],{"class":664},[654,6330,791],{"class":668},[644,6332,6335],{"className":646,"code":6333,"filename":245,"language":648,"meta":6334,"style":650},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { embed, generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport const POST = withEvlog(async () => {\n  const log = useLogger()\n\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 Response.json({ text: result.text })\n})\n","app\u002Fapi\u002Frag\u002Froute.ts",[613,6336,6337,6359,6381,6399,6403,6425,6437,6441,6457,6461,6485,6509,6519,6525,6537,6543,6557,6567,6573,6577,6595,6599,6615,6639,6655,6661,6665,6693],{"__ignoreMap":650},[654,6338,6339,6341,6343,6345,6347,6349,6351,6353,6355,6357],{"class":656,"line":657},[654,6340,661],{"class":660},[654,6342,665],{"class":664},[654,6344,1361],{"class":668},[654,6346,880],{"class":664},[654,6348,669],{"class":668},[654,6350,672],{"class":664},[654,6352,675],{"class":660},[654,6354,678],{"class":664},[654,6356,1374],{"class":681},[654,6358,685],{"class":664},[654,6360,6361,6363,6365,6367,6369,6371,6373,6375,6377,6379],{"class":656,"line":688},[654,6362,661],{"class":660},[654,6364,665],{"class":664},[654,6366,5610],{"class":668},[654,6368,880],{"class":664},[654,6370,2295],{"class":668},[654,6372,672],{"class":664},[654,6374,675],{"class":660},[654,6376,678],{"class":664},[654,6378,630],{"class":681},[654,6380,685],{"class":664},[654,6382,6383,6385,6387,6389,6391,6393,6395,6397],{"class":656,"line":708},[654,6384,661],{"class":660},[654,6386,665],{"class":664},[654,6388,715],{"class":668},[654,6390,672],{"class":664},[654,6392,675],{"class":660},[654,6394,678],{"class":664},[654,6396,724],{"class":681},[654,6398,685],{"class":664},[654,6400,6401],{"class":656,"line":729},[654,6402,733],{"emptyLinePlaceholder":732},[654,6404,6405,6407,6409,6411,6413,6415,6417,6419,6421,6423],{"class":656,"line":736},[654,6406,739],{"class":660},[654,6408,1423],{"class":752},[654,6410,1426],{"class":668},[654,6412,1429],{"class":664},[654,6414,1361],{"class":745},[654,6416,749],{"class":668},[654,6418,753],{"class":752},[654,6420,2799],{"class":664},[654,6422,766],{"class":752},[654,6424,769],{"class":664},[654,6426,6427,6429,6431,6433,6435],{"class":656,"line":772},[654,6428,775],{"class":752},[654,6430,778],{"class":668},[654,6432,781],{"class":664},[654,6434,669],{"class":745},[654,6436,1024],{"class":786},[654,6438,6439],{"class":656,"line":794},[654,6440,733],{"emptyLinePlaceholder":732},[654,6442,6443,6445,6447,6449,6451,6453,6455],{"class":656,"line":799},[654,6444,775],{"class":752},[654,6446,804],{"class":668},[654,6448,781],{"class":664},[654,6450,715],{"class":745},[654,6452,749],{"class":786},[654,6454,813],{"class":668},[654,6456,791],{"class":786},[654,6458,6459],{"class":656,"line":818},[654,6460,733],{"emptyLinePlaceholder":732},[654,6462,6463,6465,6467,6469,6471,6473,6475,6477,6479,6481,6483],{"class":656,"line":844},[654,6464,775],{"class":752},[654,6466,665],{"class":664},[654,6468,5717],{"class":668},[654,6470,880],{"class":664},[654,6472,5722],{"class":668},[654,6474,672],{"class":664},[654,6476,781],{"class":664},[654,6478,832],{"class":660},[654,6480,5610],{"class":745},[654,6482,749],{"class":786},[654,6484,918],{"class":664},[654,6486,6487,6489,6491,6493,6495,6497,6499,6501,6503,6505,6507],{"class":656,"line":849},[654,6488,924],{"class":786},[654,6490,869],{"class":664},[654,6492,5743],{"class":668},[654,6494,855],{"class":664},[654,6496,5748],{"class":745},[654,6498,749],{"class":786},[654,6500,877],{"class":664},[654,6502,5755],{"class":681},[654,6504,877],{"class":664},[654,6506,763],{"class":786},[654,6508,947],{"class":664},[654,6510,6511,6513,6515,6517],{"class":656,"line":899},[654,6512,5766],{"class":786},[654,6514,869],{"class":664},[654,6516,5771],{"class":668},[654,6518,947],{"class":664},[654,6520,6521,6523],{"class":656,"line":904},[654,6522,1001],{"class":664},[654,6524,791],{"class":786},[654,6526,6527,6529,6531,6533,6535],{"class":656,"line":921},[654,6528,5784],{"class":668},[654,6530,855],{"class":664},[654,6532,5574],{"class":745},[654,6534,749],{"class":786},[654,6536,918],{"class":664},[654,6538,6539,6541],{"class":656,"line":950},[654,6540,5797],{"class":668},[654,6542,947],{"class":664},[654,6544,6545,6547,6549,6551,6553,6555],{"class":656,"line":958},[654,6546,924],{"class":786},[654,6548,869],{"class":664},[654,6550,678],{"class":664},[654,6552,5755],{"class":681},[654,6554,877],{"class":664},[654,6556,947],{"class":664},[654,6558,6559,6561,6563,6565],{"class":656,"line":979},[654,6560,5818],{"class":786},[654,6562,869],{"class":664},[654,6564,5823],{"class":3558},[654,6566,947],{"class":664},[654,6568,6569,6571],{"class":656,"line":992},[654,6570,1001],{"class":664},[654,6572,791],{"class":786},[654,6574,6575],{"class":656,"line":998},[654,6576,733],{"emptyLinePlaceholder":732},[654,6578,6579,6581,6583,6585,6587,6589,6591,6593],{"class":656,"line":1006},[654,6580,775],{"class":752},[654,6582,5842],{"class":668},[654,6584,781],{"class":664},[654,6586,832],{"class":660},[654,6588,5849],{"class":745},[654,6590,749],{"class":786},[654,6592,5748],{"class":668},[654,6594,791],{"class":786},[654,6596,6597],{"class":656,"line":1011},[654,6598,733],{"emptyLinePlaceholder":732},[654,6600,6601,6603,6605,6607,6609,6611,6613],{"class":656,"line":1027},[654,6602,775],{"class":752},[654,6604,909],{"class":668},[654,6606,781],{"class":664},[654,6608,832],{"class":660},[654,6610,2295],{"class":745},[654,6612,749],{"class":786},[654,6614,918],{"class":664},[654,6616,6617,6619,6621,6623,6625,6627,6629,6631,6633,6635,6637],{"class":656,"line":1342},[654,6618,924],{"class":786},[654,6620,869],{"class":664},[654,6622,804],{"class":668},[654,6624,855],{"class":664},[654,6626,933],{"class":745},[654,6628,749],{"class":786},[654,6630,877],{"class":664},[654,6632,940],{"class":681},[654,6634,877],{"class":664},[654,6636,763],{"class":786},[654,6638,947],{"class":664},[654,6640,6641,6643,6645,6647,6649,6651,6653],{"class":656,"line":4016},[654,6642,2434],{"class":786},[654,6644,869],{"class":664},[654,6646,5908],{"class":745},[654,6648,749],{"class":786},[654,6650,5913],{"class":668},[654,6652,763],{"class":786},[654,6654,947],{"class":664},[654,6656,6657,6659],{"class":656,"line":5544},[654,6658,1001],{"class":664},[654,6660,791],{"class":786},[654,6662,6663],{"class":656,"line":5550},[654,6664,733],{"emptyLinePlaceholder":732},[654,6666,6667,6669,6671,6673,6675,6677,6679,6681,6683,6685,6687,6689,6691],{"class":656,"line":5930},[654,6668,1014],{"class":660},[654,6670,2910],{"class":668},[654,6672,855],{"class":664},[654,6674,1506],{"class":745},[654,6676,749],{"class":786},[654,6678,863],{"class":664},[654,6680,969],{"class":786},[654,6682,869],{"class":664},[654,6684,909],{"class":668},[654,6686,855],{"class":664},[654,6688,987],{"class":668},[654,6690,672],{"class":664},[654,6692,791],{"class":786},[654,6694,6695,6697],{"class":656,"line":5949},[654,6696,1030],{"class":664},[654,6698,791],{"class":668},[644,6700,6702],{"className":646,"code":6701,"filename":275,"language":648,"meta":1660,"style":650},"import { embed, generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Frag', async (c) => {\n  const log = c.get('log')\n\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 c.json({ text: result.text })\n})\n",[613,6703,6704,6726,6744,6748,6779,6803,6807,6823,6827,6851,6875,6885,6891,6903,6909,6923,6933,6939,6943,6961,6965,6981,7005,7021,7027,7031,7059],{"__ignoreMap":650},[654,6705,6706,6708,6710,6712,6714,6716,6718,6720,6722,6724],{"class":656,"line":657},[654,6707,661],{"class":660},[654,6709,665],{"class":664},[654,6711,5610],{"class":668},[654,6713,880],{"class":664},[654,6715,2295],{"class":668},[654,6717,672],{"class":664},[654,6719,675],{"class":660},[654,6721,678],{"class":664},[654,6723,630],{"class":681},[654,6725,685],{"class":664},[654,6727,6728,6730,6732,6734,6736,6738,6740,6742],{"class":656,"line":688},[654,6729,661],{"class":660},[654,6731,665],{"class":664},[654,6733,715],{"class":668},[654,6735,672],{"class":664},[654,6737,675],{"class":660},[654,6739,678],{"class":664},[654,6741,724],{"class":681},[654,6743,685],{"class":664},[654,6745,6746],{"class":656,"line":708},[654,6747,733],{"emptyLinePlaceholder":732},[654,6749,6750,6752,6754,6756,6758,6760,6763,6765,6767,6769,6771,6773,6775,6777],{"class":656,"line":729},[654,6751,1707],{"class":668},[654,6753,855],{"class":664},[654,6755,1712],{"class":745},[654,6757,749],{"class":668},[654,6759,877],{"class":664},[654,6761,6762],{"class":681},"\u002Fapi\u002Frag",[654,6764,877],{"class":664},[654,6766,880],{"class":664},[654,6768,1726],{"class":752},[654,6770,756],{"class":664},[654,6772,1731],{"class":759},[654,6774,763],{"class":664},[654,6776,766],{"class":752},[654,6778,769],{"class":664},[654,6780,6781,6783,6785,6787,6789,6791,6793,6795,6797,6799,6801],{"class":656,"line":736},[654,6782,775],{"class":752},[654,6784,778],{"class":668},[654,6786,781],{"class":664},[654,6788,1748],{"class":668},[654,6790,855],{"class":664},[654,6792,1753],{"class":745},[654,6794,749],{"class":786},[654,6796,877],{"class":664},[654,6798,813],{"class":681},[654,6800,877],{"class":664},[654,6802,791],{"class":786},[654,6804,6805],{"class":656,"line":772},[654,6806,733],{"emptyLinePlaceholder":732},[654,6808,6809,6811,6813,6815,6817,6819,6821],{"class":656,"line":794},[654,6810,775],{"class":752},[654,6812,804],{"class":668},[654,6814,781],{"class":664},[654,6816,715],{"class":745},[654,6818,749],{"class":786},[654,6820,813],{"class":668},[654,6822,791],{"class":786},[654,6824,6825],{"class":656,"line":799},[654,6826,733],{"emptyLinePlaceholder":732},[654,6828,6829,6831,6833,6835,6837,6839,6841,6843,6845,6847,6849],{"class":656,"line":818},[654,6830,775],{"class":752},[654,6832,665],{"class":664},[654,6834,5717],{"class":668},[654,6836,880],{"class":664},[654,6838,5722],{"class":668},[654,6840,672],{"class":664},[654,6842,781],{"class":664},[654,6844,832],{"class":660},[654,6846,5610],{"class":745},[654,6848,749],{"class":786},[654,6850,918],{"class":664},[654,6852,6853,6855,6857,6859,6861,6863,6865,6867,6869,6871,6873],{"class":656,"line":844},[654,6854,924],{"class":786},[654,6856,869],{"class":664},[654,6858,5743],{"class":668},[654,6860,855],{"class":664},[654,6862,5748],{"class":745},[654,6864,749],{"class":786},[654,6866,877],{"class":664},[654,6868,5755],{"class":681},[654,6870,877],{"class":664},[654,6872,763],{"class":786},[654,6874,947],{"class":664},[654,6876,6877,6879,6881,6883],{"class":656,"line":849},[654,6878,5766],{"class":786},[654,6880,869],{"class":664},[654,6882,5771],{"class":668},[654,6884,947],{"class":664},[654,6886,6887,6889],{"class":656,"line":899},[654,6888,1001],{"class":664},[654,6890,791],{"class":786},[654,6892,6893,6895,6897,6899,6901],{"class":656,"line":904},[654,6894,5784],{"class":668},[654,6896,855],{"class":664},[654,6898,5574],{"class":745},[654,6900,749],{"class":786},[654,6902,918],{"class":664},[654,6904,6905,6907],{"class":656,"line":921},[654,6906,5797],{"class":668},[654,6908,947],{"class":664},[654,6910,6911,6913,6915,6917,6919,6921],{"class":656,"line":950},[654,6912,924],{"class":786},[654,6914,869],{"class":664},[654,6916,678],{"class":664},[654,6918,5755],{"class":681},[654,6920,877],{"class":664},[654,6922,947],{"class":664},[654,6924,6925,6927,6929,6931],{"class":656,"line":958},[654,6926,5818],{"class":786},[654,6928,869],{"class":664},[654,6930,5823],{"class":3558},[654,6932,947],{"class":664},[654,6934,6935,6937],{"class":656,"line":979},[654,6936,1001],{"class":664},[654,6938,791],{"class":786},[654,6940,6941],{"class":656,"line":992},[654,6942,733],{"emptyLinePlaceholder":732},[654,6944,6945,6947,6949,6951,6953,6955,6957,6959],{"class":656,"line":998},[654,6946,775],{"class":752},[654,6948,5842],{"class":668},[654,6950,781],{"class":664},[654,6952,832],{"class":660},[654,6954,5849],{"class":745},[654,6956,749],{"class":786},[654,6958,5748],{"class":668},[654,6960,791],{"class":786},[654,6962,6963],{"class":656,"line":1006},[654,6964,733],{"emptyLinePlaceholder":732},[654,6966,6967,6969,6971,6973,6975,6977,6979],{"class":656,"line":1011},[654,6968,775],{"class":752},[654,6970,909],{"class":668},[654,6972,781],{"class":664},[654,6974,832],{"class":660},[654,6976,2295],{"class":745},[654,6978,749],{"class":786},[654,6980,918],{"class":664},[654,6982,6983,6985,6987,6989,6991,6993,6995,6997,6999,7001,7003],{"class":656,"line":1027},[654,6984,924],{"class":786},[654,6986,869],{"class":664},[654,6988,804],{"class":668},[654,6990,855],{"class":664},[654,6992,933],{"class":745},[654,6994,749],{"class":786},[654,6996,877],{"class":664},[654,6998,940],{"class":681},[654,7000,877],{"class":664},[654,7002,763],{"class":786},[654,7004,947],{"class":664},[654,7006,7007,7009,7011,7013,7015,7017,7019],{"class":656,"line":1342},[654,7008,2434],{"class":786},[654,7010,869],{"class":664},[654,7012,5908],{"class":745},[654,7014,749],{"class":786},[654,7016,5913],{"class":668},[654,7018,763],{"class":786},[654,7020,947],{"class":664},[654,7022,7023,7025],{"class":656,"line":4016},[654,7024,1001],{"class":664},[654,7026,791],{"class":786},[654,7028,7029],{"class":656,"line":5544},[654,7030,733],{"emptyLinePlaceholder":732},[654,7032,7033,7035,7037,7039,7041,7043,7045,7047,7049,7051,7053,7055,7057],{"class":656,"line":5550},[654,7034,1014],{"class":660},[654,7036,1748],{"class":668},[654,7038,855],{"class":664},[654,7040,1506],{"class":745},[654,7042,749],{"class":786},[654,7044,863],{"class":664},[654,7046,969],{"class":786},[654,7048,869],{"class":664},[654,7050,909],{"class":668},[654,7052,855],{"class":664},[654,7054,987],{"class":668},[654,7056,672],{"class":664},[654,7058,791],{"class":786},[654,7060,7061,7063],{"class":656,"line":5930},[654,7062,1030],{"class":664},[654,7064,791],{"class":668},[644,7066,7068],{"className":646,"code":7067,"filename":270,"language":648,"meta":1660,"style":650},"import { embed, generateText } from 'ai'\nimport { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Frag', async (req, res) => {\n  const log = req.log\n\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 res.json({ text: result.text })\n})\n",[613,7069,7070,7092,7110,7114,7148,7162,7166,7182,7186,7210,7234,7244,7250,7262,7268,7282,7292,7298,7302,7320,7324,7340,7364,7380,7386,7390,7418],{"__ignoreMap":650},[654,7071,7072,7074,7076,7078,7080,7082,7084,7086,7088,7090],{"class":656,"line":657},[654,7073,661],{"class":660},[654,7075,665],{"class":664},[654,7077,5610],{"class":668},[654,7079,880],{"class":664},[654,7081,2295],{"class":668},[654,7083,672],{"class":664},[654,7085,675],{"class":660},[654,7087,678],{"class":664},[654,7089,630],{"class":681},[654,7091,685],{"class":664},[654,7093,7094,7096,7098,7100,7102,7104,7106,7108],{"class":656,"line":688},[654,7095,661],{"class":660},[654,7097,665],{"class":664},[654,7099,715],{"class":668},[654,7101,672],{"class":664},[654,7103,675],{"class":660},[654,7105,678],{"class":664},[654,7107,724],{"class":681},[654,7109,685],{"class":664},[654,7111,7112],{"class":656,"line":708},[654,7113,733],{"emptyLinePlaceholder":732},[654,7115,7116,7118,7120,7122,7124,7126,7128,7130,7132,7134,7136,7138,7140,7142,7144,7146],{"class":656,"line":729},[654,7117,1707],{"class":668},[654,7119,855],{"class":664},[654,7121,1712],{"class":745},[654,7123,749],{"class":668},[654,7125,877],{"class":664},[654,7127,6762],{"class":681},[654,7129,877],{"class":664},[654,7131,880],{"class":664},[654,7133,1726],{"class":752},[654,7135,756],{"class":664},[654,7137,1804],{"class":759},[654,7139,880],{"class":664},[654,7141,2032],{"class":759},[654,7143,763],{"class":664},[654,7145,766],{"class":752},[654,7147,769],{"class":664},[654,7149,7150,7152,7154,7156,7158,7160],{"class":656,"line":736},[654,7151,775],{"class":752},[654,7153,778],{"class":668},[654,7155,781],{"class":664},[654,7157,2049],{"class":668},[654,7159,855],{"class":664},[654,7161,2054],{"class":668},[654,7163,7164],{"class":656,"line":772},[654,7165,733],{"emptyLinePlaceholder":732},[654,7167,7168,7170,7172,7174,7176,7178,7180],{"class":656,"line":794},[654,7169,775],{"class":752},[654,7171,804],{"class":668},[654,7173,781],{"class":664},[654,7175,715],{"class":745},[654,7177,749],{"class":786},[654,7179,813],{"class":668},[654,7181,791],{"class":786},[654,7183,7184],{"class":656,"line":799},[654,7185,733],{"emptyLinePlaceholder":732},[654,7187,7188,7190,7192,7194,7196,7198,7200,7202,7204,7206,7208],{"class":656,"line":818},[654,7189,775],{"class":752},[654,7191,665],{"class":664},[654,7193,5717],{"class":668},[654,7195,880],{"class":664},[654,7197,5722],{"class":668},[654,7199,672],{"class":664},[654,7201,781],{"class":664},[654,7203,832],{"class":660},[654,7205,5610],{"class":745},[654,7207,749],{"class":786},[654,7209,918],{"class":664},[654,7211,7212,7214,7216,7218,7220,7222,7224,7226,7228,7230,7232],{"class":656,"line":844},[654,7213,924],{"class":786},[654,7215,869],{"class":664},[654,7217,5743],{"class":668},[654,7219,855],{"class":664},[654,7221,5748],{"class":745},[654,7223,749],{"class":786},[654,7225,877],{"class":664},[654,7227,5755],{"class":681},[654,7229,877],{"class":664},[654,7231,763],{"class":786},[654,7233,947],{"class":664},[654,7235,7236,7238,7240,7242],{"class":656,"line":849},[654,7237,5766],{"class":786},[654,7239,869],{"class":664},[654,7241,5771],{"class":668},[654,7243,947],{"class":664},[654,7245,7246,7248],{"class":656,"line":899},[654,7247,1001],{"class":664},[654,7249,791],{"class":786},[654,7251,7252,7254,7256,7258,7260],{"class":656,"line":904},[654,7253,5784],{"class":668},[654,7255,855],{"class":664},[654,7257,5574],{"class":745},[654,7259,749],{"class":786},[654,7261,918],{"class":664},[654,7263,7264,7266],{"class":656,"line":921},[654,7265,5797],{"class":668},[654,7267,947],{"class":664},[654,7269,7270,7272,7274,7276,7278,7280],{"class":656,"line":950},[654,7271,924],{"class":786},[654,7273,869],{"class":664},[654,7275,678],{"class":664},[654,7277,5755],{"class":681},[654,7279,877],{"class":664},[654,7281,947],{"class":664},[654,7283,7284,7286,7288,7290],{"class":656,"line":958},[654,7285,5818],{"class":786},[654,7287,869],{"class":664},[654,7289,5823],{"class":3558},[654,7291,947],{"class":664},[654,7293,7294,7296],{"class":656,"line":979},[654,7295,1001],{"class":664},[654,7297,791],{"class":786},[654,7299,7300],{"class":656,"line":992},[654,7301,733],{"emptyLinePlaceholder":732},[654,7303,7304,7306,7308,7310,7312,7314,7316,7318],{"class":656,"line":998},[654,7305,775],{"class":752},[654,7307,5842],{"class":668},[654,7309,781],{"class":664},[654,7311,832],{"class":660},[654,7313,5849],{"class":745},[654,7315,749],{"class":786},[654,7317,5748],{"class":668},[654,7319,791],{"class":786},[654,7321,7322],{"class":656,"line":1006},[654,7323,733],{"emptyLinePlaceholder":732},[654,7325,7326,7328,7330,7332,7334,7336,7338],{"class":656,"line":1011},[654,7327,775],{"class":752},[654,7329,909],{"class":668},[654,7331,781],{"class":664},[654,7333,832],{"class":660},[654,7335,2295],{"class":745},[654,7337,749],{"class":786},[654,7339,918],{"class":664},[654,7341,7342,7344,7346,7348,7350,7352,7354,7356,7358,7360,7362],{"class":656,"line":1027},[654,7343,924],{"class":786},[654,7345,869],{"class":664},[654,7347,804],{"class":668},[654,7349,855],{"class":664},[654,7351,933],{"class":745},[654,7353,749],{"class":786},[654,7355,877],{"class":664},[654,7357,940],{"class":681},[654,7359,877],{"class":664},[654,7361,763],{"class":786},[654,7363,947],{"class":664},[654,7365,7366,7368,7370,7372,7374,7376,7378],{"class":656,"line":1342},[654,7367,2434],{"class":786},[654,7369,869],{"class":664},[654,7371,5908],{"class":745},[654,7373,749],{"class":786},[654,7375,5913],{"class":668},[654,7377,763],{"class":786},[654,7379,947],{"class":664},[654,7381,7382,7384],{"class":656,"line":4016},[654,7383,1001],{"class":664},[654,7385,791],{"class":786},[654,7387,7388],{"class":656,"line":5544},[654,7389,733],{"emptyLinePlaceholder":732},[654,7391,7392,7394,7396,7398,7400,7402,7404,7406,7408,7410,7412,7414,7416],{"class":656,"line":5550},[654,7393,1014],{"class":660},[654,7395,2032],{"class":668},[654,7397,855],{"class":664},[654,7399,1506],{"class":745},[654,7401,749],{"class":786},[654,7403,863],{"class":664},[654,7405,969],{"class":786},[654,7407,869],{"class":664},[654,7409,909],{"class":668},[654,7411,855],{"class":664},[654,7413,987],{"class":668},[654,7415,672],{"class":664},[654,7417,791],{"class":786},[654,7419,7420,7422],{"class":656,"line":5930},[654,7421,1030],{"class":664},[654,7423,791],{"class":668},[609,7425,7426,7427,7430],{},"For ",[613,7428,7429],{},"embedMany",", pass the batch count:",[644,7432,7434],{"className":646,"code":7433,"language":648,"meta":650,"style":650},"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",[613,7435,7436,7464,7489,7501,7507],{"__ignoreMap":650},[654,7437,7438,7441,7443,7446,7448,7451,7453,7455,7457,7460,7462],{"class":656,"line":657},[654,7439,7440],{"class":752},"const",[654,7442,665],{"class":664},[654,7444,7445],{"class":668}," embeddings",[654,7447,880],{"class":664},[654,7449,7450],{"class":668}," usage ",[654,7452,1030],{"class":664},[654,7454,781],{"class":664},[654,7456,832],{"class":660},[654,7458,7459],{"class":745}," embedMany",[654,7461,749],{"class":668},[654,7463,918],{"class":664},[654,7465,7466,7469,7471,7473,7475,7477,7479,7481,7483,7485,7487],{"class":656,"line":688},[654,7467,7468],{"class":786},"  model",[654,7470,869],{"class":664},[654,7472,5743],{"class":668},[654,7474,855],{"class":664},[654,7476,5748],{"class":745},[654,7478,749],{"class":668},[654,7480,877],{"class":664},[654,7482,5755],{"class":681},[654,7484,877],{"class":664},[654,7486,763],{"class":668},[654,7488,947],{"class":664},[654,7490,7491,7494,7496,7499],{"class":656,"line":708},[654,7492,7493],{"class":786},"  values",[654,7495,869],{"class":664},[654,7497,7498],{"class":668}," documents",[654,7500,947],{"class":664},[654,7502,7503,7505],{"class":656,"line":729},[654,7504,1030],{"class":664},[654,7506,791],{"class":668},[654,7508,7509,7511,7513,7515,7517,7519,7521,7523,7526,7528,7530,7532,7534,7536,7539,7541,7543,7545,7548,7550],{"class":656,"line":736},[654,7510,630],{"class":668},[654,7512,855],{"class":664},[654,7514,5574],{"class":745},[654,7516,749],{"class":668},[654,7518,863],{"class":664},[654,7520,5722],{"class":668},[654,7522,880],{"class":664},[654,7524,7525],{"class":786}," model",[654,7527,869],{"class":664},[654,7529,678],{"class":664},[654,7531,5755],{"class":681},[654,7533,877],{"class":664},[654,7535,880],{"class":664},[654,7537,7538],{"class":786}," count",[654,7540,869],{"class":664},[654,7542,7498],{"class":668},[654,7544,855],{"class":664},[654,7546,7547],{"class":668},"length ",[654,7549,1030],{"class":664},[654,7551,791],{"class":668},[633,7553,7555],{"id":7554},"wrap-more-than-one-model","Wrap more than one model",[609,7557,7558,7559,7561,7562,7565],{},"Wrap each model separately. They share the same accumulator. When more than one model is used, the wide event includes both ",[613,7560,4997],{}," (last model) and ",[613,7563,7564],{},"models"," (all unique models):",[7567,7568,7569,7722],"code-group",{},[644,7570,7572],{"className":646,"code":7571,"filename":649,"language":648,"meta":650,"style":650},"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",[613,7573,7574,7588,7592,7618,7643,7647,7685],{"__ignoreMap":650},[654,7575,7576,7578,7581,7583,7585],{"class":656,"line":657},[654,7577,7440],{"class":752},[654,7579,7580],{"class":668}," ai ",[654,7582,1429],{"class":664},[654,7584,715],{"class":745},[654,7586,7587],{"class":668},"(log)\n",[654,7589,7590],{"class":656,"line":688},[654,7591,733],{"emptyLinePlaceholder":732},[654,7593,7594,7596,7599,7601,7603,7605,7607,7609,7611,7614,7616],{"class":656,"line":708},[654,7595,7440],{"class":752},[654,7597,7598],{"class":668}," fast ",[654,7600,1429],{"class":664},[654,7602,804],{"class":668},[654,7604,855],{"class":664},[654,7606,933],{"class":745},[654,7608,749],{"class":668},[654,7610,877],{"class":664},[654,7612,7613],{"class":681},"anthropic\u002Fclaude-haiku-4.5",[654,7615,877],{"class":664},[654,7617,791],{"class":668},[654,7619,7620,7622,7625,7627,7629,7631,7633,7635,7637,7639,7641],{"class":656,"line":729},[654,7621,7440],{"class":752},[654,7623,7624],{"class":668}," smart ",[654,7626,1429],{"class":664},[654,7628,804],{"class":668},[654,7630,855],{"class":664},[654,7632,933],{"class":745},[654,7634,749],{"class":668},[654,7636,877],{"class":664},[654,7638,940],{"class":681},[654,7640,877],{"class":664},[654,7642,791],{"class":668},[654,7644,7645],{"class":656,"line":736},[654,7646,733],{"emptyLinePlaceholder":732},[654,7648,7649,7651,7654,7656,7658,7660,7662,7664,7666,7668,7671,7673,7676,7678,7681,7683],{"class":656,"line":772},[654,7650,7440],{"class":752},[654,7652,7653],{"class":668}," classification ",[654,7655,1429],{"class":664},[654,7657,832],{"class":660},[654,7659,2295],{"class":745},[654,7661,749],{"class":668},[654,7663,863],{"class":664},[654,7665,7525],{"class":786},[654,7667,869],{"class":664},[654,7669,7670],{"class":668}," fast",[654,7672,880],{"class":664},[654,7674,7675],{"class":786}," prompt",[654,7677,869],{"class":664},[654,7679,7680],{"class":668}," classifyPrompt ",[654,7682,1030],{"class":664},[654,7684,791],{"class":668},[654,7686,7687,7689,7692,7694,7696,7698,7700,7702,7704,7706,7709,7711,7713,7715,7718,7720],{"class":656,"line":794},[654,7688,7440],{"class":752},[654,7690,7691],{"class":668}," response ",[654,7693,1429],{"class":664},[654,7695,832],{"class":660},[654,7697,2295],{"class":745},[654,7699,749],{"class":668},[654,7701,863],{"class":664},[654,7703,7525],{"class":786},[654,7705,869],{"class":664},[654,7707,7708],{"class":668}," smart",[654,7710,880],{"class":664},[654,7712,7675],{"class":786},[654,7714,869],{"class":664},[654,7716,7717],{"class":668}," detailedPrompt ",[654,7719,1030],{"class":664},[654,7721,791],{"class":668},[644,7723,7725],{"className":4936,"code":7724,"filename":4938,"language":1506,"meta":650,"style":650},"{\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",[613,7726,7727,7731,7743,7758,7776,7806,7824,7839,7853,7866,7870],{"__ignoreMap":650},[654,7728,7729],{"class":656,"line":657},[654,7730,918],{"class":664},[654,7732,7733,7735,7737,7739,7741],{"class":656,"line":688},[654,7734,4949],{"class":664},[654,7736,630],{"class":752},[654,7738,4954],{"class":664},[654,7740,869],{"class":664},[654,7742,769],{"class":664},[654,7744,7745,7747,7749,7751,7753,7756],{"class":656,"line":708},[654,7746,4963],{"class":664},[654,7748,4966],{"class":1445},[654,7750,4954],{"class":664},[654,7752,869],{"class":664},[654,7754,7755],{"class":3558}," 2",[654,7757,947],{"class":664},[654,7759,7760,7762,7764,7766,7768,7770,7772,7774],{"class":656,"line":729},[654,7761,4963],{"class":664},[654,7763,4997],{"class":1445},[654,7765,4954],{"class":664},[654,7767,869],{"class":664},[654,7769,5004],{"class":664},[654,7771,5007],{"class":681},[654,7773,4954],{"class":664},[654,7775,947],{"class":664},[654,7777,7778,7780,7782,7784,7786,7788,7790,7793,7795,7797,7799,7801,7803],{"class":656,"line":736},[654,7779,4963],{"class":664},[654,7781,7564],{"class":1445},[654,7783,4954],{"class":664},[654,7785,869],{"class":664},[654,7787,5361],{"class":664},[654,7789,4954],{"class":664},[654,7791,7792],{"class":681},"claude-haiku-4.5",[654,7794,4954],{"class":664},[654,7796,880],{"class":664},[654,7798,5004],{"class":664},[654,7800,5007],{"class":681},[654,7802,4954],{"class":664},[654,7804,7805],{"class":664},"],\n",[654,7807,7808,7810,7812,7814,7816,7818,7820,7822],{"class":656,"line":772},[654,7809,4963],{"class":664},[654,7811,5018],{"class":1445},[654,7813,4954],{"class":664},[654,7815,869],{"class":664},[654,7817,5004],{"class":664},[654,7819,5027],{"class":681},[654,7821,4954],{"class":664},[654,7823,947],{"class":664},[654,7825,7826,7828,7830,7832,7834,7837],{"class":656,"line":794},[654,7827,4963],{"class":664},[654,7829,5038],{"class":1445},[654,7831,4954],{"class":664},[654,7833,869],{"class":664},[654,7835,7836],{"class":3558}," 450",[654,7838,947],{"class":664},[654,7840,7841,7843,7845,7847,7849,7851],{"class":656,"line":799},[654,7842,4963],{"class":664},[654,7844,5054],{"class":1445},[654,7846,4954],{"class":664},[654,7848,869],{"class":664},[654,7850,5348],{"class":3558},[654,7852,947],{"class":664},[654,7854,7855,7857,7859,7861,7863],{"class":656,"line":818},[654,7856,4963],{"class":664},[654,7858,5070],{"class":1445},[654,7860,4954],{"class":664},[654,7862,869],{"class":664},[654,7864,7865],{"class":3558}," 750\n",[654,7867,7868],{"class":656,"line":844},[654,7869,5547],{"class":664},[654,7871,7872],{"class":656,"line":849},[654,7873,5553],{"class":664},[633,7875,7877],{"id":7876},"pass-a-model-object-from-any-provider","Pass a model object from any provider",[609,7879,7880,7883,7884,7887,7888,7891],{},[613,7881,7882],{},"wrap()"," accepts model objects from provider SDKs: both ",[613,7885,7886],{},"LanguageModelV3"," (AI SDK v6) and ",[613,7889,7890],{},"LanguageModelV4"," (AI SDK v7):",[644,7893,7895],{"className":646,"code":7894,"filename":649,"language":648,"meta":650,"style":650},"import { anthropic } from '@ai-sdk\u002Fanthropic'\n\nconst model = ai.wrap(anthropic('claude-sonnet-4.6'))\n",[613,7896,7897,7917,7921],{"__ignoreMap":650},[654,7898,7899,7901,7903,7906,7908,7910,7912,7915],{"class":656,"line":657},[654,7900,661],{"class":660},[654,7902,665],{"class":664},[654,7904,7905],{"class":668}," anthropic",[654,7907,672],{"class":664},[654,7909,675],{"class":660},[654,7911,678],{"class":664},[654,7913,7914],{"class":681},"@ai-sdk\u002Fanthropic",[654,7916,685],{"class":664},[654,7918,7919],{"class":656,"line":688},[654,7920,733],{"emptyLinePlaceholder":732},[654,7922,7923,7925,7928,7930,7932,7934,7936,7938,7940,7942,7944,7946,7948],{"class":656,"line":708},[654,7924,7440],{"class":752},[654,7926,7927],{"class":668}," model ",[654,7929,1429],{"class":664},[654,7931,804],{"class":668},[654,7933,855],{"class":664},[654,7935,933],{"class":745},[654,7937,749],{"class":668},[654,7939,5027],{"class":745},[654,7941,749],{"class":668},[654,7943,877],{"class":664},[654,7945,5007],{"class":681},[654,7947,877],{"class":664},[654,7949,7950],{"class":668},"))\n",[7952,7953,7954],"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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":650,"searchDepth":688,"depth":688,"links":7956},[7957,7958,7959,7960,7961,7962],{"id":635,"depth":688,"text":636},{"id":2256,"depth":688,"text":2257},{"id":3378,"depth":688,"text":3379},{"id":5567,"depth":688,"text":5568},{"id":7554,"depth":688,"text":7555},{"id":7876,"depth":688,"text":7877},"streamText, generateText, multi-step agents, RAG, and multiple models — every common AI SDK pattern wired into evlog.","md",[7966,7969],{"label":41,"icon":44,"to":338,"color":7967,"variant":7968},"neutral","subtle",{"label":346,"icon":349,"to":347,"color":7967,"variant":7968},{},{"title":341,"icon":344},{"title":604,"description":7963},"EZHMwOazEwVEsjrl_DkS70cwMGSrBG5BPadmaA8143A",[7975,7977],{"title":41,"path":338,"stem":339,"description":7976,"icon":44,"children":-1},"Capture token usage, tool calls, model info, and streaming metrics from the Vercel AI SDK into wide events. Wrap your model, get the rest free.",{"title":346,"path":347,"stem":348,"description":7978,"icon":349,"children":-1},"Configure prompt and output capture (with redaction and truncation), tool input capture, cost estimation per model, and error handling during AI calls.",1791112779613]