[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-ai-coredebug-logging":3,"mdc-745xti-key":53,"related-repo-tanstack-ai-coredebug-logging":3717,"related-org-tanstack-ai-coredebug-logging":3821},{"slug":4,"name":5,"fn":6,"description":7,"org":8,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":48,"sourceUrl":51,"mdContent":52},"ai-coredebug-logging","ai-core\u002Fdebug-logging","configure debug logging for TanStack AI","Pluggable, category-toggleable debug logging for TanStack AI activities. Toggle with `debug: true | false | DebugConfig` on chat(), summarize(), generateImage(), generateSpeech(), generateTranscription(), generateVideo(). Categories: request, provider, output, middleware, tools, agentLoop, config, errors. Pipe into pino\u002Fwinston\u002Fetc via `debug: { logger }`. Errors log by default even when `debug` is omitted; silence with `debug: false`.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},"tanstack","TanStack","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftanstack.png",[13,17,20,21],{"name":14,"slug":15,"type":16},"Observability","observability","tag",{"name":18,"slug":19,"type":16},"LLM","llm",{"name":10,"slug":9,"type":16},{"name":22,"slug":23,"type":16},"Debugging","debugging",2884,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Fai","2026-07-16T06:04:12.257598",null,269,[30,31,32,33,34,35,36,37,19,38,39,40,41,42,43,9,44,45,46,47],"ai","ai-agents","ai-sdk","anthropic","chatbot","function-calling","gemini","generative-ai","multimodal","openai","react","solidjs","streaming","svelte","tool-calling","typescript","typescript-sdk","vue",{"repoUrl":25,"stars":24,"forks":28,"topics":49,"description":50},[30,31,32,33,34,35,36,37,19,38,39,40,41,42,43,9,44,45,46,47],"🤖 Type-safe, provider-agnostic TypeScript AI SDK for streaming chat, tool calling, agents, and multimodal apps across OpenAI, Anthropic, Gemini, React, Vue, Svelte, and Solid.","https:\u002F\u002Fgithub.com\u002FTanStack\u002Fai\u002Ftree\u002FHEAD\u002Fpackages\u002Fai\u002Fskills\u002Fai-core\u002Fdebug-logging","---\nname: ai-core\u002Fdebug-logging\ndescription: >\n  Pluggable, category-toggleable debug logging for TanStack AI activities.\n  Toggle with `debug: true | false | DebugConfig` on chat(), summarize(),\n  generateImage(), generateSpeech(), generateTranscription(), generateVideo().\n  Categories: request, provider, output, middleware, tools, agentLoop,\n  config, errors. Pipe into pino\u002Fwinston\u002Fetc via `debug: { logger }`. Errors\n  log by default even when `debug` is omitted; silence with `debug: false`.\ntype: sub-skill\nlibrary: tanstack-ai\nlibrary_version: '0.10.0'\nsources:\n  - 'TanStack\u002Fai:docs\u002Fadvanced\u002Fdebug-logging.md'\n---\n\n# Debug Logging\n\n> **Dependency note:** This skill builds on ai-core. Read it first for critical rules.\n\nUse this skill when you need to turn debug logging on or off, narrow what's\nprinted, or pipe logs into a custom logger (pino, winston, etc.). The same\n`debug` option works on every activity — `chat()`, `summarize()`,\n`generateImage()`, `generateSpeech()`, `generateTranscription()`,\n`generateVideo()`.\n\n## Turn it on\n\n```typescript\nimport { chat } from '@tanstack\u002Fai'\nimport { openaiText } from '@tanstack\u002Fai-openai'\n\nconst stream = chat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: true, \u002F\u002F all categories on, prints to console\n})\n```\n\nEach log line is prefixed with an emoji and `[tanstack-ai:\u003Ccategory>]`:\n\n```\n📤 [tanstack-ai:request] 📤 activity=chat provider=openai model=gpt-5.2 messages=1 tools=0 stream=true\n🔁 [tanstack-ai:agentLoop] 🔁 run started\n📥 [tanstack-ai:provider] 📥 provider=openai type=response.output_text.delta\n📨 [tanstack-ai:output] 📨 type=TEXT_MESSAGE_CONTENT\n```\n\n## Turn it off\n\n```typescript\nchat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: false, \u002F\u002F silence everything, including errors\n})\n```\n\nOmitting `debug` is **not** the same as `debug: false`. When omitted, the\n`errors` category is still on (errors are cheap and important). Use\n`debug: false` or `debug: { errors: false }` for true silence.\n\n## `DebugOption` — the accepted shapes\n\n```typescript\ntype DebugOption = boolean | DebugConfig\n\ninterface DebugConfig {\n  \u002F\u002F Per-category flags. Any flag omitted from a DebugConfig defaults to true.\n  request?: boolean\n  provider?: boolean\n  output?: boolean\n  middleware?: boolean\n  tools?: boolean\n  agentLoop?: boolean\n  config?: boolean\n  errors?: boolean\n  \u002F\u002F Optional custom logger. Defaults to ConsoleLogger.\n  logger?: Logger\n}\n```\n\nResolution rules for the `debug?: DebugOption` field on every activity:\n\n| `debug` value         | Effect                                                                       |\n| --------------------- | ---------------------------------------------------------------------------- |\n| omitted (`undefined`) | Only `errors` is active; default `ConsoleLogger`.                            |\n| `true`                | All categories on; default `ConsoleLogger`.                                  |\n| `false`               | All categories off (including `errors`); default `ConsoleLogger`.            |\n| `DebugConfig` object  | Each unspecified flag defaults to `true`; `logger` replaces `ConsoleLogger`. |\n\n## Narrow what's printed\n\nPass a `DebugConfig` object. Unspecified categories default to `true`, so it's\neasiest to toggle by setting specific flags to `false`:\n\n```typescript\nchat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: { middleware: false }, \u002F\u002F everything except middleware\n})\n```\n\nTo print only a specific set, set the rest to `false` explicitly:\n\n```typescript\nchat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: {\n    provider: true,\n    output: true,\n    middleware: false,\n    tools: false,\n    agentLoop: false,\n    config: false,\n    errors: true, \u002F\u002F keep errors on — they're cheap and important\n    request: false,\n  },\n})\n```\n\n## Pipe into your own logger\n\n```typescript\nimport type { Logger } from '@tanstack\u002Fai'\nimport pino from 'pino'\n\nconst pinoLogger = pino()\nconst logger: Logger = {\n  debug: (msg, meta) => pinoLogger.debug(meta, msg),\n  info: (msg, meta) => pinoLogger.info(meta, msg),\n  warn: (msg, meta) => pinoLogger.warn(meta, msg),\n  error: (msg, meta) => pinoLogger.error(meta, msg),\n}\n\nchat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: { logger }, \u002F\u002F all categories on, piped to pino\n})\n```\n\nThe default console logger is exported as `ConsoleLogger` if you want to wrap\nit:\n\n```typescript\nimport { ConsoleLogger } from '@tanstack\u002Fai'\n```\n\n## Categories\n\n| Category     | Logs                                                           | Applies to                            |\n| ------------ | -------------------------------------------------------------- | ------------------------------------- |\n| `request`    | Outgoing call to a provider (model, message count, tool count) | All activities                        |\n| `provider`   | Every raw chunk\u002Fframe received from a provider SDK             | Streaming activities (chat, realtime) |\n| `output`     | Every chunk or result yielded to the caller                    | All activities                        |\n| `middleware` | Inputs and outputs around every middleware hook                | `chat()` only                         |\n| `tools`      | Before\u002Fafter tool call execution                               | `chat()` only                         |\n| `agentLoop`  | Agent-loop iterations and phase transitions                    | `chat()` only                         |\n| `config`     | Config transforms returned by middleware `onConfig` hooks      | `chat()` only                         |\n| `errors`     | Every caught error anywhere in the pipeline                    | All activities                        |\n\nChat-only categories simply never fire for non-chat activities — those\nconcepts don't exist in their pipelines.\n\n## Non-chat activities\n\nSame `debug` option everywhere:\n\n```typescript\nsummarize({ adapter, text, debug: true })\ngenerateImage({ adapter, prompt: 'a cat', debug: { logger } })\ngenerateSpeech({ adapter, text, debug: { request: true } })\ngenerateTranscription({ adapter, audio, debug: false })\ngenerateVideo({ adapter, prompt: 'a wave', debug: { output: true } })\n```\n\nRealtime session adapters in provider packages (e.g. `openaiRealtime`,\n`elevenlabsRealtime`) accept the same `debug?: DebugOption` on their session\noptions. They emit `request`, `provider`, and `errors` lines; the chat-only\ncategories don't apply.\n\n## Common Mistakes\n\n### a. HIGH: Treating omitted `debug` as silent\n\n```typescript\n\u002F\u002F WRONG — expecting this to be completely silent\nchat({ adapter, messages })\n\u002F\u002F Errors still print via [tanstack-ai:errors] ... on failure.\n\n\u002F\u002F CORRECT — explicit silence\nchat({ adapter, messages, debug: false })\nchat({ adapter, messages, debug: { errors: false } })\n```\n\n`debug` undefined means \"only errors\"; `debug: false` means \"nothing at all\".\n\nSource: docs\u002Fadvanced\u002Fdebug-logging.md\n\n### b. MEDIUM: Reaching for middleware when `debug` would do\n\n```typescript\n\u002F\u002F WRONG — writing logging middleware to see chunks flow\nconst chunkLogger: ChatMiddleware = {\n  name: 'chunk-logger',\n  onChunk: (ctx, chunk) => {\n    console.log(chunk.type, chunk)\n  },\n}\nchat({ adapter, messages, middleware: [chunkLogger] })\n\n\u002F\u002F CORRECT — just turn on the relevant categories\nchat({\n  adapter,\n  messages,\n  debug: { provider: true, output: true },\n})\n```\n\nFor observing the built-in pipeline, the `debug` option is strictly faster\nthan writing logging middleware. Reach for middleware when you need to\n_transform_ chunks, not just see them.\n\nSource: docs\u002Fadvanced\u002Fdebug-logging.md\n\n### c. LOW: Logger implementation that can throw\n\nA user-supplied `Logger` that throws will have its exception swallowed by the\nSDK so it never masks the real error that triggered the log call. Still,\nprefer implementations that don't throw — silenced exceptions are harder to\ndebug than loud ones.\n\n```typescript\n\u002F\u002F WRONG — a logger that can throw on serialization\nconst fragile: Logger = {\n  debug: (msg, meta) => console.debug(msg, JSON.stringify(meta)), \u002F\u002F cyclic meta → throws\n  \u002F* ... *\u002F\n}\n\n\u002F\u002F CORRECT — guard serialization in the logger itself\nconst safe: Logger = {\n  debug: (msg, meta) => {\n    try {\n      console.debug(msg, meta)\n    } catch {\n      console.debug(msg)\n    }\n  },\n  \u002F* ... *\u002F\n}\n```\n\nSource: packages\u002Fai\u002Fsrc\u002Flogger\u002Finternal-logger.ts\n\n## Cross-References\n\n- See also: **ai-core\u002Fmiddleware\u002FSKILL.md** — if you need to transform\n  chunks\u002Fconfig, not just observe them.\n- See also: **Observability** (`docs\u002Fadvanced\u002Fobservability.md`) — the\n  programmatic event client for a richer, structured feed beyond log lines.\n",{"data":54,"body":60},{"name":5,"description":7,"type":55,"library":56,"library_version":57,"sources":58},"sub-skill","tanstack-ai","0.10.0",[59],"TanStack\u002Fai:docs\u002Fadvanced\u002Fdebug-logging.md",{"type":61,"children":62},"root",[63,72,88,147,154,400,412,422,428,537,587,599,843,856,1016,1022,1047,1168,1180,1451,1457,1983,1995,2038,2044,2269,2274,2280,2292,2641,2688,2694,2708,2902,2919,2924,2937,3276,3296,3300,3306,3319,3666,3671,3677,3711],{"type":64,"tag":65,"props":66,"children":68},"element","h1",{"id":67},"debug-logging",[69],{"type":70,"value":71},"text","Debug Logging",{"type":64,"tag":73,"props":74,"children":75},"blockquote",{},[76],{"type":64,"tag":77,"props":78,"children":79},"p",{},[80,86],{"type":64,"tag":81,"props":82,"children":83},"strong",{},[84],{"type":70,"value":85},"Dependency note:",{"type":70,"value":87}," This skill builds on ai-core. Read it first for critical rules.",{"type":64,"tag":77,"props":89,"children":90},{},[91,93,100,102,108,110,116,118,124,125,131,132,138,139,145],{"type":70,"value":92},"Use this skill when you need to turn debug logging on or off, narrow what's\nprinted, or pipe logs into a custom logger (pino, winston, etc.). The same\n",{"type":64,"tag":94,"props":95,"children":97},"code",{"className":96},[],[98],{"type":70,"value":99},"debug",{"type":70,"value":101}," option works on every activity — ",{"type":64,"tag":94,"props":103,"children":105},{"className":104},[],[106],{"type":70,"value":107},"chat()",{"type":70,"value":109},", ",{"type":64,"tag":94,"props":111,"children":113},{"className":112},[],[114],{"type":70,"value":115},"summarize()",{"type":70,"value":117},",\n",{"type":64,"tag":94,"props":119,"children":121},{"className":120},[],[122],{"type":70,"value":123},"generateImage()",{"type":70,"value":109},{"type":64,"tag":94,"props":126,"children":128},{"className":127},[],[129],{"type":70,"value":130},"generateSpeech()",{"type":70,"value":109},{"type":64,"tag":94,"props":133,"children":135},{"className":134},[],[136],{"type":70,"value":137},"generateTranscription()",{"type":70,"value":117},{"type":64,"tag":94,"props":140,"children":142},{"className":141},[],[143],{"type":70,"value":144},"generateVideo()",{"type":70,"value":146},".",{"type":64,"tag":148,"props":149,"children":151},"h2",{"id":150},"turn-it-on",[152],{"type":70,"value":153},"Turn it on",{"type":64,"tag":155,"props":156,"children":160},"pre",{"className":157,"code":158,"language":45,"meta":159,"style":159},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { chat } from '@tanstack\u002Fai'\nimport { openaiText } from '@tanstack\u002Fai-openai'\n\nconst stream = chat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: true, \u002F\u002F all categories on, prints to console\n})\n","",[161],{"type":64,"tag":94,"props":162,"children":163},{"__ignoreMap":159},[164,214,252,262,297,343,356,386],{"type":64,"tag":165,"props":166,"children":169},"span",{"class":167,"line":168},"line",1,[170,176,182,188,193,198,203,209],{"type":64,"tag":165,"props":171,"children":173},{"style":172},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[174],{"type":70,"value":175},"import",{"type":64,"tag":165,"props":177,"children":179},{"style":178},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[180],{"type":70,"value":181}," {",{"type":64,"tag":165,"props":183,"children":185},{"style":184},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[186],{"type":70,"value":187}," chat",{"type":64,"tag":165,"props":189,"children":190},{"style":178},[191],{"type":70,"value":192}," }",{"type":64,"tag":165,"props":194,"children":195},{"style":172},[196],{"type":70,"value":197}," from",{"type":64,"tag":165,"props":199,"children":200},{"style":178},[201],{"type":70,"value":202}," '",{"type":64,"tag":165,"props":204,"children":206},{"style":205},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[207],{"type":70,"value":208},"@tanstack\u002Fai",{"type":64,"tag":165,"props":210,"children":211},{"style":178},[212],{"type":70,"value":213},"'\n",{"type":64,"tag":165,"props":215,"children":217},{"class":167,"line":216},2,[218,222,226,231,235,239,243,248],{"type":64,"tag":165,"props":219,"children":220},{"style":172},[221],{"type":70,"value":175},{"type":64,"tag":165,"props":223,"children":224},{"style":178},[225],{"type":70,"value":181},{"type":64,"tag":165,"props":227,"children":228},{"style":184},[229],{"type":70,"value":230}," openaiText",{"type":64,"tag":165,"props":232,"children":233},{"style":178},[234],{"type":70,"value":192},{"type":64,"tag":165,"props":236,"children":237},{"style":172},[238],{"type":70,"value":197},{"type":64,"tag":165,"props":240,"children":241},{"style":178},[242],{"type":70,"value":202},{"type":64,"tag":165,"props":244,"children":245},{"style":205},[246],{"type":70,"value":247},"@tanstack\u002Fai-openai",{"type":64,"tag":165,"props":249,"children":250},{"style":178},[251],{"type":70,"value":213},{"type":64,"tag":165,"props":253,"children":255},{"class":167,"line":254},3,[256],{"type":64,"tag":165,"props":257,"children":259},{"emptyLinePlaceholder":258},true,[260],{"type":70,"value":261},"\n",{"type":64,"tag":165,"props":263,"children":265},{"class":167,"line":264},4,[266,272,277,282,287,292],{"type":64,"tag":165,"props":267,"children":269},{"style":268},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[270],{"type":70,"value":271},"const",{"type":64,"tag":165,"props":273,"children":274},{"style":184},[275],{"type":70,"value":276}," stream ",{"type":64,"tag":165,"props":278,"children":279},{"style":178},[280],{"type":70,"value":281},"=",{"type":64,"tag":165,"props":283,"children":285},{"style":284},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[286],{"type":70,"value":187},{"type":64,"tag":165,"props":288,"children":289},{"style":184},[290],{"type":70,"value":291},"(",{"type":64,"tag":165,"props":293,"children":294},{"style":178},[295],{"type":70,"value":296},"{\n",{"type":64,"tag":165,"props":298,"children":300},{"class":167,"line":299},5,[301,307,312,316,320,325,330,334,339],{"type":64,"tag":165,"props":302,"children":304},{"style":303},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[305],{"type":70,"value":306},"  adapter",{"type":64,"tag":165,"props":308,"children":309},{"style":178},[310],{"type":70,"value":311},":",{"type":64,"tag":165,"props":313,"children":314},{"style":284},[315],{"type":70,"value":230},{"type":64,"tag":165,"props":317,"children":318},{"style":184},[319],{"type":70,"value":291},{"type":64,"tag":165,"props":321,"children":322},{"style":178},[323],{"type":70,"value":324},"'",{"type":64,"tag":165,"props":326,"children":327},{"style":205},[328],{"type":70,"value":329},"gpt-5.2",{"type":64,"tag":165,"props":331,"children":332},{"style":178},[333],{"type":70,"value":324},{"type":64,"tag":165,"props":335,"children":336},{"style":184},[337],{"type":70,"value":338},")",{"type":64,"tag":165,"props":340,"children":341},{"style":178},[342],{"type":70,"value":117},{"type":64,"tag":165,"props":344,"children":346},{"class":167,"line":345},6,[347,352],{"type":64,"tag":165,"props":348,"children":349},{"style":184},[350],{"type":70,"value":351},"  messages",{"type":64,"tag":165,"props":353,"children":354},{"style":178},[355],{"type":70,"value":117},{"type":64,"tag":165,"props":357,"children":359},{"class":167,"line":358},7,[360,365,369,375,380],{"type":64,"tag":165,"props":361,"children":362},{"style":303},[363],{"type":70,"value":364},"  debug",{"type":64,"tag":165,"props":366,"children":367},{"style":178},[368],{"type":70,"value":311},{"type":64,"tag":165,"props":370,"children":372},{"style":371},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[373],{"type":70,"value":374}," true",{"type":64,"tag":165,"props":376,"children":377},{"style":178},[378],{"type":70,"value":379},",",{"type":64,"tag":165,"props":381,"children":383},{"style":382},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[384],{"type":70,"value":385}," \u002F\u002F all categories on, prints to console\n",{"type":64,"tag":165,"props":387,"children":389},{"class":167,"line":388},8,[390,395],{"type":64,"tag":165,"props":391,"children":392},{"style":178},[393],{"type":70,"value":394},"}",{"type":64,"tag":165,"props":396,"children":397},{"style":184},[398],{"type":70,"value":399},")\n",{"type":64,"tag":77,"props":401,"children":402},{},[403,405,411],{"type":70,"value":404},"Each log line is prefixed with an emoji and ",{"type":64,"tag":94,"props":406,"children":408},{"className":407},[],[409],{"type":70,"value":410},"[tanstack-ai:\u003Ccategory>]",{"type":70,"value":311},{"type":64,"tag":155,"props":413,"children":417},{"className":414,"code":416,"language":70},[415],"language-text","📤 [tanstack-ai:request] 📤 activity=chat provider=openai model=gpt-5.2 messages=1 tools=0 stream=true\n🔁 [tanstack-ai:agentLoop] 🔁 run started\n📥 [tanstack-ai:provider] 📥 provider=openai type=response.output_text.delta\n📨 [tanstack-ai:output] 📨 type=TEXT_MESSAGE_CONTENT\n",[418],{"type":64,"tag":94,"props":419,"children":420},{"__ignoreMap":159},[421],{"type":70,"value":416},{"type":64,"tag":148,"props":423,"children":425},{"id":424},"turn-it-off",[426],{"type":70,"value":427},"Turn it off",{"type":64,"tag":155,"props":429,"children":431},{"className":157,"code":430,"language":45,"meta":159,"style":159},"chat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: false, \u002F\u002F silence everything, including errors\n})\n",[432],{"type":64,"tag":94,"props":433,"children":434},{"__ignoreMap":159},[435,451,490,501,526],{"type":64,"tag":165,"props":436,"children":437},{"class":167,"line":168},[438,443,447],{"type":64,"tag":165,"props":439,"children":440},{"style":284},[441],{"type":70,"value":442},"chat",{"type":64,"tag":165,"props":444,"children":445},{"style":184},[446],{"type":70,"value":291},{"type":64,"tag":165,"props":448,"children":449},{"style":178},[450],{"type":70,"value":296},{"type":64,"tag":165,"props":452,"children":453},{"class":167,"line":216},[454,458,462,466,470,474,478,482,486],{"type":64,"tag":165,"props":455,"children":456},{"style":303},[457],{"type":70,"value":306},{"type":64,"tag":165,"props":459,"children":460},{"style":178},[461],{"type":70,"value":311},{"type":64,"tag":165,"props":463,"children":464},{"style":284},[465],{"type":70,"value":230},{"type":64,"tag":165,"props":467,"children":468},{"style":184},[469],{"type":70,"value":291},{"type":64,"tag":165,"props":471,"children":472},{"style":178},[473],{"type":70,"value":324},{"type":64,"tag":165,"props":475,"children":476},{"style":205},[477],{"type":70,"value":329},{"type":64,"tag":165,"props":479,"children":480},{"style":178},[481],{"type":70,"value":324},{"type":64,"tag":165,"props":483,"children":484},{"style":184},[485],{"type":70,"value":338},{"type":64,"tag":165,"props":487,"children":488},{"style":178},[489],{"type":70,"value":117},{"type":64,"tag":165,"props":491,"children":492},{"class":167,"line":254},[493,497],{"type":64,"tag":165,"props":494,"children":495},{"style":184},[496],{"type":70,"value":351},{"type":64,"tag":165,"props":498,"children":499},{"style":178},[500],{"type":70,"value":117},{"type":64,"tag":165,"props":502,"children":503},{"class":167,"line":264},[504,508,512,517,521],{"type":64,"tag":165,"props":505,"children":506},{"style":303},[507],{"type":70,"value":364},{"type":64,"tag":165,"props":509,"children":510},{"style":178},[511],{"type":70,"value":311},{"type":64,"tag":165,"props":513,"children":514},{"style":371},[515],{"type":70,"value":516}," false",{"type":64,"tag":165,"props":518,"children":519},{"style":178},[520],{"type":70,"value":379},{"type":64,"tag":165,"props":522,"children":523},{"style":382},[524],{"type":70,"value":525}," \u002F\u002F silence everything, including errors\n",{"type":64,"tag":165,"props":527,"children":528},{"class":167,"line":299},[529,533],{"type":64,"tag":165,"props":530,"children":531},{"style":178},[532],{"type":70,"value":394},{"type":64,"tag":165,"props":534,"children":535},{"style":184},[536],{"type":70,"value":399},{"type":64,"tag":77,"props":538,"children":539},{},[540,542,547,549,554,556,562,564,570,572,577,579,585],{"type":70,"value":541},"Omitting ",{"type":64,"tag":94,"props":543,"children":545},{"className":544},[],[546],{"type":70,"value":99},{"type":70,"value":548}," is ",{"type":64,"tag":81,"props":550,"children":551},{},[552],{"type":70,"value":553},"not",{"type":70,"value":555}," the same as ",{"type":64,"tag":94,"props":557,"children":559},{"className":558},[],[560],{"type":70,"value":561},"debug: false",{"type":70,"value":563},". When omitted, the\n",{"type":64,"tag":94,"props":565,"children":567},{"className":566},[],[568],{"type":70,"value":569},"errors",{"type":70,"value":571}," category is still on (errors are cheap and important). Use\n",{"type":64,"tag":94,"props":573,"children":575},{"className":574},[],[576],{"type":70,"value":561},{"type":70,"value":578}," or ",{"type":64,"tag":94,"props":580,"children":582},{"className":581},[],[583],{"type":70,"value":584},"debug: { errors: false }",{"type":70,"value":586}," for true silence.",{"type":64,"tag":148,"props":588,"children":590},{"id":589},"debugoption-the-accepted-shapes",[591,597],{"type":64,"tag":94,"props":592,"children":594},{"className":593},[],[595],{"type":70,"value":596},"DebugOption",{"type":70,"value":598}," — the accepted shapes",{"type":64,"tag":155,"props":600,"children":602},{"className":157,"code":601,"language":45,"meta":159,"style":159},"type DebugOption = boolean | DebugConfig\n\ninterface DebugConfig {\n  \u002F\u002F Per-category flags. Any flag omitted from a DebugConfig defaults to true.\n  request?: boolean\n  provider?: boolean\n  output?: boolean\n  middleware?: boolean\n  tools?: boolean\n  agentLoop?: boolean\n  config?: boolean\n  errors?: boolean\n  \u002F\u002F Optional custom logger. Defaults to ConsoleLogger.\n  logger?: Logger\n}\n",[603],{"type":64,"tag":94,"props":604,"children":605},{"__ignoreMap":159},[606,640,647,665,673,691,707,723,739,756,773,790,807,816,834],{"type":64,"tag":165,"props":607,"children":608},{"class":167,"line":168},[609,614,620,625,630,635],{"type":64,"tag":165,"props":610,"children":611},{"style":268},[612],{"type":70,"value":613},"type",{"type":64,"tag":165,"props":615,"children":617},{"style":616},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[618],{"type":70,"value":619}," DebugOption",{"type":64,"tag":165,"props":621,"children":622},{"style":178},[623],{"type":70,"value":624}," =",{"type":64,"tag":165,"props":626,"children":627},{"style":616},[628],{"type":70,"value":629}," boolean",{"type":64,"tag":165,"props":631,"children":632},{"style":178},[633],{"type":70,"value":634}," |",{"type":64,"tag":165,"props":636,"children":637},{"style":616},[638],{"type":70,"value":639}," DebugConfig\n",{"type":64,"tag":165,"props":641,"children":642},{"class":167,"line":216},[643],{"type":64,"tag":165,"props":644,"children":645},{"emptyLinePlaceholder":258},[646],{"type":70,"value":261},{"type":64,"tag":165,"props":648,"children":649},{"class":167,"line":254},[650,655,660],{"type":64,"tag":165,"props":651,"children":652},{"style":268},[653],{"type":70,"value":654},"interface",{"type":64,"tag":165,"props":656,"children":657},{"style":616},[658],{"type":70,"value":659}," DebugConfig",{"type":64,"tag":165,"props":661,"children":662},{"style":178},[663],{"type":70,"value":664}," {\n",{"type":64,"tag":165,"props":666,"children":667},{"class":167,"line":264},[668],{"type":64,"tag":165,"props":669,"children":670},{"style":382},[671],{"type":70,"value":672},"  \u002F\u002F Per-category flags. Any flag omitted from a DebugConfig defaults to true.\n",{"type":64,"tag":165,"props":674,"children":675},{"class":167,"line":299},[676,681,686],{"type":64,"tag":165,"props":677,"children":678},{"style":303},[679],{"type":70,"value":680},"  request",{"type":64,"tag":165,"props":682,"children":683},{"style":178},[684],{"type":70,"value":685},"?:",{"type":64,"tag":165,"props":687,"children":688},{"style":616},[689],{"type":70,"value":690}," boolean\n",{"type":64,"tag":165,"props":692,"children":693},{"class":167,"line":345},[694,699,703],{"type":64,"tag":165,"props":695,"children":696},{"style":303},[697],{"type":70,"value":698},"  provider",{"type":64,"tag":165,"props":700,"children":701},{"style":178},[702],{"type":70,"value":685},{"type":64,"tag":165,"props":704,"children":705},{"style":616},[706],{"type":70,"value":690},{"type":64,"tag":165,"props":708,"children":709},{"class":167,"line":358},[710,715,719],{"type":64,"tag":165,"props":711,"children":712},{"style":303},[713],{"type":70,"value":714},"  output",{"type":64,"tag":165,"props":716,"children":717},{"style":178},[718],{"type":70,"value":685},{"type":64,"tag":165,"props":720,"children":721},{"style":616},[722],{"type":70,"value":690},{"type":64,"tag":165,"props":724,"children":725},{"class":167,"line":388},[726,731,735],{"type":64,"tag":165,"props":727,"children":728},{"style":303},[729],{"type":70,"value":730},"  middleware",{"type":64,"tag":165,"props":732,"children":733},{"style":178},[734],{"type":70,"value":685},{"type":64,"tag":165,"props":736,"children":737},{"style":616},[738],{"type":70,"value":690},{"type":64,"tag":165,"props":740,"children":742},{"class":167,"line":741},9,[743,748,752],{"type":64,"tag":165,"props":744,"children":745},{"style":303},[746],{"type":70,"value":747},"  tools",{"type":64,"tag":165,"props":749,"children":750},{"style":178},[751],{"type":70,"value":685},{"type":64,"tag":165,"props":753,"children":754},{"style":616},[755],{"type":70,"value":690},{"type":64,"tag":165,"props":757,"children":759},{"class":167,"line":758},10,[760,765,769],{"type":64,"tag":165,"props":761,"children":762},{"style":303},[763],{"type":70,"value":764},"  agentLoop",{"type":64,"tag":165,"props":766,"children":767},{"style":178},[768],{"type":70,"value":685},{"type":64,"tag":165,"props":770,"children":771},{"style":616},[772],{"type":70,"value":690},{"type":64,"tag":165,"props":774,"children":776},{"class":167,"line":775},11,[777,782,786],{"type":64,"tag":165,"props":778,"children":779},{"style":303},[780],{"type":70,"value":781},"  config",{"type":64,"tag":165,"props":783,"children":784},{"style":178},[785],{"type":70,"value":685},{"type":64,"tag":165,"props":787,"children":788},{"style":616},[789],{"type":70,"value":690},{"type":64,"tag":165,"props":791,"children":793},{"class":167,"line":792},12,[794,799,803],{"type":64,"tag":165,"props":795,"children":796},{"style":303},[797],{"type":70,"value":798},"  errors",{"type":64,"tag":165,"props":800,"children":801},{"style":178},[802],{"type":70,"value":685},{"type":64,"tag":165,"props":804,"children":805},{"style":616},[806],{"type":70,"value":690},{"type":64,"tag":165,"props":808,"children":810},{"class":167,"line":809},13,[811],{"type":64,"tag":165,"props":812,"children":813},{"style":382},[814],{"type":70,"value":815},"  \u002F\u002F Optional custom logger. Defaults to ConsoleLogger.\n",{"type":64,"tag":165,"props":817,"children":819},{"class":167,"line":818},14,[820,825,829],{"type":64,"tag":165,"props":821,"children":822},{"style":303},[823],{"type":70,"value":824},"  logger",{"type":64,"tag":165,"props":826,"children":827},{"style":178},[828],{"type":70,"value":685},{"type":64,"tag":165,"props":830,"children":831},{"style":616},[832],{"type":70,"value":833}," Logger\n",{"type":64,"tag":165,"props":835,"children":837},{"class":167,"line":836},15,[838],{"type":64,"tag":165,"props":839,"children":840},{"style":178},[841],{"type":70,"value":842},"}\n",{"type":64,"tag":77,"props":844,"children":845},{},[846,848,854],{"type":70,"value":847},"Resolution rules for the ",{"type":64,"tag":94,"props":849,"children":851},{"className":850},[],[852],{"type":70,"value":853},"debug?: DebugOption",{"type":70,"value":855}," field on every activity:",{"type":64,"tag":857,"props":858,"children":859},"table",{},[860,884],{"type":64,"tag":861,"props":862,"children":863},"thead",{},[864],{"type":64,"tag":865,"props":866,"children":867},"tr",{},[868,879],{"type":64,"tag":869,"props":870,"children":871},"th",{},[872,877],{"type":64,"tag":94,"props":873,"children":875},{"className":874},[],[876],{"type":70,"value":99},{"type":70,"value":878}," value",{"type":64,"tag":869,"props":880,"children":881},{},[882],{"type":70,"value":883},"Effect",{"type":64,"tag":885,"props":886,"children":887},"tbody",{},[888,923,946,976],{"type":64,"tag":865,"props":889,"children":890},{},[891,904],{"type":64,"tag":892,"props":893,"children":894},"td",{},[895,897,903],{"type":70,"value":896},"omitted (",{"type":64,"tag":94,"props":898,"children":900},{"className":899},[],[901],{"type":70,"value":902},"undefined",{"type":70,"value":338},{"type":64,"tag":892,"props":905,"children":906},{},[907,909,914,916,922],{"type":70,"value":908},"Only ",{"type":64,"tag":94,"props":910,"children":912},{"className":911},[],[913],{"type":70,"value":569},{"type":70,"value":915}," is active; default ",{"type":64,"tag":94,"props":917,"children":919},{"className":918},[],[920],{"type":70,"value":921},"ConsoleLogger",{"type":70,"value":146},{"type":64,"tag":865,"props":924,"children":925},{},[926,935],{"type":64,"tag":892,"props":927,"children":928},{},[929],{"type":64,"tag":94,"props":930,"children":932},{"className":931},[],[933],{"type":70,"value":934},"true",{"type":64,"tag":892,"props":936,"children":937},{},[938,940,945],{"type":70,"value":939},"All categories on; default ",{"type":64,"tag":94,"props":941,"children":943},{"className":942},[],[944],{"type":70,"value":921},{"type":70,"value":146},{"type":64,"tag":865,"props":947,"children":948},{},[949,958],{"type":64,"tag":892,"props":950,"children":951},{},[952],{"type":64,"tag":94,"props":953,"children":955},{"className":954},[],[956],{"type":70,"value":957},"false",{"type":64,"tag":892,"props":959,"children":960},{},[961,963,968,970,975],{"type":70,"value":962},"All categories off (including ",{"type":64,"tag":94,"props":964,"children":966},{"className":965},[],[967],{"type":70,"value":569},{"type":70,"value":969},"); default ",{"type":64,"tag":94,"props":971,"children":973},{"className":972},[],[974],{"type":70,"value":921},{"type":70,"value":146},{"type":64,"tag":865,"props":977,"children":978},{},[979,990],{"type":64,"tag":892,"props":980,"children":981},{},[982,988],{"type":64,"tag":94,"props":983,"children":985},{"className":984},[],[986],{"type":70,"value":987},"DebugConfig",{"type":70,"value":989}," object",{"type":64,"tag":892,"props":991,"children":992},{},[993,995,1000,1002,1008,1010,1015],{"type":70,"value":994},"Each unspecified flag defaults to ",{"type":64,"tag":94,"props":996,"children":998},{"className":997},[],[999],{"type":70,"value":934},{"type":70,"value":1001},"; ",{"type":64,"tag":94,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":70,"value":1007},"logger",{"type":70,"value":1009}," replaces ",{"type":64,"tag":94,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":70,"value":921},{"type":70,"value":146},{"type":64,"tag":148,"props":1017,"children":1019},{"id":1018},"narrow-whats-printed",[1020],{"type":70,"value":1021},"Narrow what's printed",{"type":64,"tag":77,"props":1023,"children":1024},{},[1025,1027,1032,1034,1039,1041,1046],{"type":70,"value":1026},"Pass a ",{"type":64,"tag":94,"props":1028,"children":1030},{"className":1029},[],[1031],{"type":70,"value":987},{"type":70,"value":1033}," object. Unspecified categories default to ",{"type":64,"tag":94,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":70,"value":934},{"type":70,"value":1040},", so it's\neasiest to toggle by setting specific flags to ",{"type":64,"tag":94,"props":1042,"children":1044},{"className":1043},[],[1045],{"type":70,"value":957},{"type":70,"value":311},{"type":64,"tag":155,"props":1048,"children":1050},{"className":157,"code":1049,"language":45,"meta":159,"style":159},"chat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: { middleware: false }, \u002F\u002F everything except middleware\n})\n",[1051],{"type":64,"tag":94,"props":1052,"children":1053},{"__ignoreMap":159},[1054,1069,1108,1119,1157],{"type":64,"tag":165,"props":1055,"children":1056},{"class":167,"line":168},[1057,1061,1065],{"type":64,"tag":165,"props":1058,"children":1059},{"style":284},[1060],{"type":70,"value":442},{"type":64,"tag":165,"props":1062,"children":1063},{"style":184},[1064],{"type":70,"value":291},{"type":64,"tag":165,"props":1066,"children":1067},{"style":178},[1068],{"type":70,"value":296},{"type":64,"tag":165,"props":1070,"children":1071},{"class":167,"line":216},[1072,1076,1080,1084,1088,1092,1096,1100,1104],{"type":64,"tag":165,"props":1073,"children":1074},{"style":303},[1075],{"type":70,"value":306},{"type":64,"tag":165,"props":1077,"children":1078},{"style":178},[1079],{"type":70,"value":311},{"type":64,"tag":165,"props":1081,"children":1082},{"style":284},[1083],{"type":70,"value":230},{"type":64,"tag":165,"props":1085,"children":1086},{"style":184},[1087],{"type":70,"value":291},{"type":64,"tag":165,"props":1089,"children":1090},{"style":178},[1091],{"type":70,"value":324},{"type":64,"tag":165,"props":1093,"children":1094},{"style":205},[1095],{"type":70,"value":329},{"type":64,"tag":165,"props":1097,"children":1098},{"style":178},[1099],{"type":70,"value":324},{"type":64,"tag":165,"props":1101,"children":1102},{"style":184},[1103],{"type":70,"value":338},{"type":64,"tag":165,"props":1105,"children":1106},{"style":178},[1107],{"type":70,"value":117},{"type":64,"tag":165,"props":1109,"children":1110},{"class":167,"line":254},[1111,1115],{"type":64,"tag":165,"props":1112,"children":1113},{"style":184},[1114],{"type":70,"value":351},{"type":64,"tag":165,"props":1116,"children":1117},{"style":178},[1118],{"type":70,"value":117},{"type":64,"tag":165,"props":1120,"children":1121},{"class":167,"line":264},[1122,1126,1130,1134,1139,1143,1147,1152],{"type":64,"tag":165,"props":1123,"children":1124},{"style":303},[1125],{"type":70,"value":364},{"type":64,"tag":165,"props":1127,"children":1128},{"style":178},[1129],{"type":70,"value":311},{"type":64,"tag":165,"props":1131,"children":1132},{"style":178},[1133],{"type":70,"value":181},{"type":64,"tag":165,"props":1135,"children":1136},{"style":303},[1137],{"type":70,"value":1138}," middleware",{"type":64,"tag":165,"props":1140,"children":1141},{"style":178},[1142],{"type":70,"value":311},{"type":64,"tag":165,"props":1144,"children":1145},{"style":371},[1146],{"type":70,"value":516},{"type":64,"tag":165,"props":1148,"children":1149},{"style":178},[1150],{"type":70,"value":1151}," },",{"type":64,"tag":165,"props":1153,"children":1154},{"style":382},[1155],{"type":70,"value":1156}," \u002F\u002F everything except middleware\n",{"type":64,"tag":165,"props":1158,"children":1159},{"class":167,"line":299},[1160,1164],{"type":64,"tag":165,"props":1161,"children":1162},{"style":178},[1163],{"type":70,"value":394},{"type":64,"tag":165,"props":1165,"children":1166},{"style":184},[1167],{"type":70,"value":399},{"type":64,"tag":77,"props":1169,"children":1170},{},[1171,1173,1178],{"type":70,"value":1172},"To print only a specific set, set the rest to ",{"type":64,"tag":94,"props":1174,"children":1176},{"className":1175},[],[1177],{"type":70,"value":957},{"type":70,"value":1179}," explicitly:",{"type":64,"tag":155,"props":1181,"children":1183},{"className":157,"code":1182,"language":45,"meta":159,"style":159},"chat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: {\n    provider: true,\n    output: true,\n    middleware: false,\n    tools: false,\n    agentLoop: false,\n    config: false,\n    errors: true, \u002F\u002F keep errors on — they're cheap and important\n    request: false,\n  },\n})\n",[1184],{"type":64,"tag":94,"props":1185,"children":1186},{"__ignoreMap":159},[1187,1202,1241,1252,1267,1287,1307,1327,1347,1367,1387,1412,1432,1440],{"type":64,"tag":165,"props":1188,"children":1189},{"class":167,"line":168},[1190,1194,1198],{"type":64,"tag":165,"props":1191,"children":1192},{"style":284},[1193],{"type":70,"value":442},{"type":64,"tag":165,"props":1195,"children":1196},{"style":184},[1197],{"type":70,"value":291},{"type":64,"tag":165,"props":1199,"children":1200},{"style":178},[1201],{"type":70,"value":296},{"type":64,"tag":165,"props":1203,"children":1204},{"class":167,"line":216},[1205,1209,1213,1217,1221,1225,1229,1233,1237],{"type":64,"tag":165,"props":1206,"children":1207},{"style":303},[1208],{"type":70,"value":306},{"type":64,"tag":165,"props":1210,"children":1211},{"style":178},[1212],{"type":70,"value":311},{"type":64,"tag":165,"props":1214,"children":1215},{"style":284},[1216],{"type":70,"value":230},{"type":64,"tag":165,"props":1218,"children":1219},{"style":184},[1220],{"type":70,"value":291},{"type":64,"tag":165,"props":1222,"children":1223},{"style":178},[1224],{"type":70,"value":324},{"type":64,"tag":165,"props":1226,"children":1227},{"style":205},[1228],{"type":70,"value":329},{"type":64,"tag":165,"props":1230,"children":1231},{"style":178},[1232],{"type":70,"value":324},{"type":64,"tag":165,"props":1234,"children":1235},{"style":184},[1236],{"type":70,"value":338},{"type":64,"tag":165,"props":1238,"children":1239},{"style":178},[1240],{"type":70,"value":117},{"type":64,"tag":165,"props":1242,"children":1243},{"class":167,"line":254},[1244,1248],{"type":64,"tag":165,"props":1245,"children":1246},{"style":184},[1247],{"type":70,"value":351},{"type":64,"tag":165,"props":1249,"children":1250},{"style":178},[1251],{"type":70,"value":117},{"type":64,"tag":165,"props":1253,"children":1254},{"class":167,"line":264},[1255,1259,1263],{"type":64,"tag":165,"props":1256,"children":1257},{"style":303},[1258],{"type":70,"value":364},{"type":64,"tag":165,"props":1260,"children":1261},{"style":178},[1262],{"type":70,"value":311},{"type":64,"tag":165,"props":1264,"children":1265},{"style":178},[1266],{"type":70,"value":664},{"type":64,"tag":165,"props":1268,"children":1269},{"class":167,"line":299},[1270,1275,1279,1283],{"type":64,"tag":165,"props":1271,"children":1272},{"style":303},[1273],{"type":70,"value":1274},"    provider",{"type":64,"tag":165,"props":1276,"children":1277},{"style":178},[1278],{"type":70,"value":311},{"type":64,"tag":165,"props":1280,"children":1281},{"style":371},[1282],{"type":70,"value":374},{"type":64,"tag":165,"props":1284,"children":1285},{"style":178},[1286],{"type":70,"value":117},{"type":64,"tag":165,"props":1288,"children":1289},{"class":167,"line":345},[1290,1295,1299,1303],{"type":64,"tag":165,"props":1291,"children":1292},{"style":303},[1293],{"type":70,"value":1294},"    output",{"type":64,"tag":165,"props":1296,"children":1297},{"style":178},[1298],{"type":70,"value":311},{"type":64,"tag":165,"props":1300,"children":1301},{"style":371},[1302],{"type":70,"value":374},{"type":64,"tag":165,"props":1304,"children":1305},{"style":178},[1306],{"type":70,"value":117},{"type":64,"tag":165,"props":1308,"children":1309},{"class":167,"line":358},[1310,1315,1319,1323],{"type":64,"tag":165,"props":1311,"children":1312},{"style":303},[1313],{"type":70,"value":1314},"    middleware",{"type":64,"tag":165,"props":1316,"children":1317},{"style":178},[1318],{"type":70,"value":311},{"type":64,"tag":165,"props":1320,"children":1321},{"style":371},[1322],{"type":70,"value":516},{"type":64,"tag":165,"props":1324,"children":1325},{"style":178},[1326],{"type":70,"value":117},{"type":64,"tag":165,"props":1328,"children":1329},{"class":167,"line":388},[1330,1335,1339,1343],{"type":64,"tag":165,"props":1331,"children":1332},{"style":303},[1333],{"type":70,"value":1334},"    tools",{"type":64,"tag":165,"props":1336,"children":1337},{"style":178},[1338],{"type":70,"value":311},{"type":64,"tag":165,"props":1340,"children":1341},{"style":371},[1342],{"type":70,"value":516},{"type":64,"tag":165,"props":1344,"children":1345},{"style":178},[1346],{"type":70,"value":117},{"type":64,"tag":165,"props":1348,"children":1349},{"class":167,"line":741},[1350,1355,1359,1363],{"type":64,"tag":165,"props":1351,"children":1352},{"style":303},[1353],{"type":70,"value":1354},"    agentLoop",{"type":64,"tag":165,"props":1356,"children":1357},{"style":178},[1358],{"type":70,"value":311},{"type":64,"tag":165,"props":1360,"children":1361},{"style":371},[1362],{"type":70,"value":516},{"type":64,"tag":165,"props":1364,"children":1365},{"style":178},[1366],{"type":70,"value":117},{"type":64,"tag":165,"props":1368,"children":1369},{"class":167,"line":758},[1370,1375,1379,1383],{"type":64,"tag":165,"props":1371,"children":1372},{"style":303},[1373],{"type":70,"value":1374},"    config",{"type":64,"tag":165,"props":1376,"children":1377},{"style":178},[1378],{"type":70,"value":311},{"type":64,"tag":165,"props":1380,"children":1381},{"style":371},[1382],{"type":70,"value":516},{"type":64,"tag":165,"props":1384,"children":1385},{"style":178},[1386],{"type":70,"value":117},{"type":64,"tag":165,"props":1388,"children":1389},{"class":167,"line":775},[1390,1395,1399,1403,1407],{"type":64,"tag":165,"props":1391,"children":1392},{"style":303},[1393],{"type":70,"value":1394},"    errors",{"type":64,"tag":165,"props":1396,"children":1397},{"style":178},[1398],{"type":70,"value":311},{"type":64,"tag":165,"props":1400,"children":1401},{"style":371},[1402],{"type":70,"value":374},{"type":64,"tag":165,"props":1404,"children":1405},{"style":178},[1406],{"type":70,"value":379},{"type":64,"tag":165,"props":1408,"children":1409},{"style":382},[1410],{"type":70,"value":1411}," \u002F\u002F keep errors on — they're cheap and important\n",{"type":64,"tag":165,"props":1413,"children":1414},{"class":167,"line":792},[1415,1420,1424,1428],{"type":64,"tag":165,"props":1416,"children":1417},{"style":303},[1418],{"type":70,"value":1419},"    request",{"type":64,"tag":165,"props":1421,"children":1422},{"style":178},[1423],{"type":70,"value":311},{"type":64,"tag":165,"props":1425,"children":1426},{"style":371},[1427],{"type":70,"value":516},{"type":64,"tag":165,"props":1429,"children":1430},{"style":178},[1431],{"type":70,"value":117},{"type":64,"tag":165,"props":1433,"children":1434},{"class":167,"line":809},[1435],{"type":64,"tag":165,"props":1436,"children":1437},{"style":178},[1438],{"type":70,"value":1439},"  },\n",{"type":64,"tag":165,"props":1441,"children":1442},{"class":167,"line":818},[1443,1447],{"type":64,"tag":165,"props":1444,"children":1445},{"style":178},[1446],{"type":70,"value":394},{"type":64,"tag":165,"props":1448,"children":1449},{"style":184},[1450],{"type":70,"value":399},{"type":64,"tag":148,"props":1452,"children":1454},{"id":1453},"pipe-into-your-own-logger",[1455],{"type":70,"value":1456},"Pipe into your own logger",{"type":64,"tag":155,"props":1458,"children":1460},{"className":157,"code":1459,"language":45,"meta":159,"style":159},"import type { Logger } from '@tanstack\u002Fai'\nimport pino from 'pino'\n\nconst pinoLogger = pino()\nconst logger: Logger = {\n  debug: (msg, meta) => pinoLogger.debug(meta, msg),\n  info: (msg, meta) => pinoLogger.info(meta, msg),\n  warn: (msg, meta) => pinoLogger.warn(meta, msg),\n  error: (msg, meta) => pinoLogger.error(meta, msg),\n}\n\nchat({\n  adapter: openaiText('gpt-5.2'),\n  messages,\n  debug: { logger }, \u002F\u002F all categories on, piped to pino\n})\n",[1461],{"type":64,"tag":94,"props":1462,"children":1463},{"__ignoreMap":159},[1464,1505,1535,1542,1568,1596,1667,1732,1797,1862,1869,1876,1891,1930,1941,1971],{"type":64,"tag":165,"props":1465,"children":1466},{"class":167,"line":168},[1467,1471,1476,1480,1485,1489,1493,1497,1501],{"type":64,"tag":165,"props":1468,"children":1469},{"style":172},[1470],{"type":70,"value":175},{"type":64,"tag":165,"props":1472,"children":1473},{"style":172},[1474],{"type":70,"value":1475}," type",{"type":64,"tag":165,"props":1477,"children":1478},{"style":178},[1479],{"type":70,"value":181},{"type":64,"tag":165,"props":1481,"children":1482},{"style":184},[1483],{"type":70,"value":1484}," Logger",{"type":64,"tag":165,"props":1486,"children":1487},{"style":178},[1488],{"type":70,"value":192},{"type":64,"tag":165,"props":1490,"children":1491},{"style":172},[1492],{"type":70,"value":197},{"type":64,"tag":165,"props":1494,"children":1495},{"style":178},[1496],{"type":70,"value":202},{"type":64,"tag":165,"props":1498,"children":1499},{"style":205},[1500],{"type":70,"value":208},{"type":64,"tag":165,"props":1502,"children":1503},{"style":178},[1504],{"type":70,"value":213},{"type":64,"tag":165,"props":1506,"children":1507},{"class":167,"line":216},[1508,1512,1517,1522,1526,1531],{"type":64,"tag":165,"props":1509,"children":1510},{"style":172},[1511],{"type":70,"value":175},{"type":64,"tag":165,"props":1513,"children":1514},{"style":184},[1515],{"type":70,"value":1516}," pino ",{"type":64,"tag":165,"props":1518,"children":1519},{"style":172},[1520],{"type":70,"value":1521},"from",{"type":64,"tag":165,"props":1523,"children":1524},{"style":178},[1525],{"type":70,"value":202},{"type":64,"tag":165,"props":1527,"children":1528},{"style":205},[1529],{"type":70,"value":1530},"pino",{"type":64,"tag":165,"props":1532,"children":1533},{"style":178},[1534],{"type":70,"value":213},{"type":64,"tag":165,"props":1536,"children":1537},{"class":167,"line":254},[1538],{"type":64,"tag":165,"props":1539,"children":1540},{"emptyLinePlaceholder":258},[1541],{"type":70,"value":261},{"type":64,"tag":165,"props":1543,"children":1544},{"class":167,"line":264},[1545,1549,1554,1558,1563],{"type":64,"tag":165,"props":1546,"children":1547},{"style":268},[1548],{"type":70,"value":271},{"type":64,"tag":165,"props":1550,"children":1551},{"style":184},[1552],{"type":70,"value":1553}," pinoLogger ",{"type":64,"tag":165,"props":1555,"children":1556},{"style":178},[1557],{"type":70,"value":281},{"type":64,"tag":165,"props":1559,"children":1560},{"style":284},[1561],{"type":70,"value":1562}," pino",{"type":64,"tag":165,"props":1564,"children":1565},{"style":184},[1566],{"type":70,"value":1567},"()\n",{"type":64,"tag":165,"props":1569,"children":1570},{"class":167,"line":299},[1571,1575,1580,1584,1588,1592],{"type":64,"tag":165,"props":1572,"children":1573},{"style":268},[1574],{"type":70,"value":271},{"type":64,"tag":165,"props":1576,"children":1577},{"style":184},[1578],{"type":70,"value":1579}," logger",{"type":64,"tag":165,"props":1581,"children":1582},{"style":178},[1583],{"type":70,"value":311},{"type":64,"tag":165,"props":1585,"children":1586},{"style":616},[1587],{"type":70,"value":1484},{"type":64,"tag":165,"props":1589,"children":1590},{"style":178},[1591],{"type":70,"value":624},{"type":64,"tag":165,"props":1593,"children":1594},{"style":178},[1595],{"type":70,"value":664},{"type":64,"tag":165,"props":1597,"children":1598},{"class":167,"line":345},[1599,1603,1607,1612,1618,1622,1627,1631,1636,1641,1645,1649,1654,1658,1663],{"type":64,"tag":165,"props":1600,"children":1601},{"style":284},[1602],{"type":70,"value":364},{"type":64,"tag":165,"props":1604,"children":1605},{"style":178},[1606],{"type":70,"value":311},{"type":64,"tag":165,"props":1608,"children":1609},{"style":178},[1610],{"type":70,"value":1611}," (",{"type":64,"tag":165,"props":1613,"children":1615},{"style":1614},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[1616],{"type":70,"value":1617},"msg",{"type":64,"tag":165,"props":1619,"children":1620},{"style":178},[1621],{"type":70,"value":379},{"type":64,"tag":165,"props":1623,"children":1624},{"style":1614},[1625],{"type":70,"value":1626}," meta",{"type":64,"tag":165,"props":1628,"children":1629},{"style":178},[1630],{"type":70,"value":338},{"type":64,"tag":165,"props":1632,"children":1633},{"style":268},[1634],{"type":70,"value":1635}," =>",{"type":64,"tag":165,"props":1637,"children":1638},{"style":184},[1639],{"type":70,"value":1640}," pinoLogger",{"type":64,"tag":165,"props":1642,"children":1643},{"style":178},[1644],{"type":70,"value":146},{"type":64,"tag":165,"props":1646,"children":1647},{"style":284},[1648],{"type":70,"value":99},{"type":64,"tag":165,"props":1650,"children":1651},{"style":184},[1652],{"type":70,"value":1653},"(meta",{"type":64,"tag":165,"props":1655,"children":1656},{"style":178},[1657],{"type":70,"value":379},{"type":64,"tag":165,"props":1659,"children":1660},{"style":184},[1661],{"type":70,"value":1662}," msg)",{"type":64,"tag":165,"props":1664,"children":1665},{"style":178},[1666],{"type":70,"value":117},{"type":64,"tag":165,"props":1668,"children":1669},{"class":167,"line":358},[1670,1675,1679,1683,1687,1691,1695,1699,1703,1707,1711,1716,1720,1724,1728],{"type":64,"tag":165,"props":1671,"children":1672},{"style":284},[1673],{"type":70,"value":1674},"  info",{"type":64,"tag":165,"props":1676,"children":1677},{"style":178},[1678],{"type":70,"value":311},{"type":64,"tag":165,"props":1680,"children":1681},{"style":178},[1682],{"type":70,"value":1611},{"type":64,"tag":165,"props":1684,"children":1685},{"style":1614},[1686],{"type":70,"value":1617},{"type":64,"tag":165,"props":1688,"children":1689},{"style":178},[1690],{"type":70,"value":379},{"type":64,"tag":165,"props":1692,"children":1693},{"style":1614},[1694],{"type":70,"value":1626},{"type":64,"tag":165,"props":1696,"children":1697},{"style":178},[1698],{"type":70,"value":338},{"type":64,"tag":165,"props":1700,"children":1701},{"style":268},[1702],{"type":70,"value":1635},{"type":64,"tag":165,"props":1704,"children":1705},{"style":184},[1706],{"type":70,"value":1640},{"type":64,"tag":165,"props":1708,"children":1709},{"style":178},[1710],{"type":70,"value":146},{"type":64,"tag":165,"props":1712,"children":1713},{"style":284},[1714],{"type":70,"value":1715},"info",{"type":64,"tag":165,"props":1717,"children":1718},{"style":184},[1719],{"type":70,"value":1653},{"type":64,"tag":165,"props":1721,"children":1722},{"style":178},[1723],{"type":70,"value":379},{"type":64,"tag":165,"props":1725,"children":1726},{"style":184},[1727],{"type":70,"value":1662},{"type":64,"tag":165,"props":1729,"children":1730},{"style":178},[1731],{"type":70,"value":117},{"type":64,"tag":165,"props":1733,"children":1734},{"class":167,"line":388},[1735,1740,1744,1748,1752,1756,1760,1764,1768,1772,1776,1781,1785,1789,1793],{"type":64,"tag":165,"props":1736,"children":1737},{"style":284},[1738],{"type":70,"value":1739},"  warn",{"type":64,"tag":165,"props":1741,"children":1742},{"style":178},[1743],{"type":70,"value":311},{"type":64,"tag":165,"props":1745,"children":1746},{"style":178},[1747],{"type":70,"value":1611},{"type":64,"tag":165,"props":1749,"children":1750},{"style":1614},[1751],{"type":70,"value":1617},{"type":64,"tag":165,"props":1753,"children":1754},{"style":178},[1755],{"type":70,"value":379},{"type":64,"tag":165,"props":1757,"children":1758},{"style":1614},[1759],{"type":70,"value":1626},{"type":64,"tag":165,"props":1761,"children":1762},{"style":178},[1763],{"type":70,"value":338},{"type":64,"tag":165,"props":1765,"children":1766},{"style":268},[1767],{"type":70,"value":1635},{"type":64,"tag":165,"props":1769,"children":1770},{"style":184},[1771],{"type":70,"value":1640},{"type":64,"tag":165,"props":1773,"children":1774},{"style":178},[1775],{"type":70,"value":146},{"type":64,"tag":165,"props":1777,"children":1778},{"style":284},[1779],{"type":70,"value":1780},"warn",{"type":64,"tag":165,"props":1782,"children":1783},{"style":184},[1784],{"type":70,"value":1653},{"type":64,"tag":165,"props":1786,"children":1787},{"style":178},[1788],{"type":70,"value":379},{"type":64,"tag":165,"props":1790,"children":1791},{"style":184},[1792],{"type":70,"value":1662},{"type":64,"tag":165,"props":1794,"children":1795},{"style":178},[1796],{"type":70,"value":117},{"type":64,"tag":165,"props":1798,"children":1799},{"class":167,"line":741},[1800,1805,1809,1813,1817,1821,1825,1829,1833,1837,1841,1846,1850,1854,1858],{"type":64,"tag":165,"props":1801,"children":1802},{"style":284},[1803],{"type":70,"value":1804},"  error",{"type":64,"tag":165,"props":1806,"children":1807},{"style":178},[1808],{"type":70,"value":311},{"type":64,"tag":165,"props":1810,"children":1811},{"style":178},[1812],{"type":70,"value":1611},{"type":64,"tag":165,"props":1814,"children":1815},{"style":1614},[1816],{"type":70,"value":1617},{"type":64,"tag":165,"props":1818,"children":1819},{"style":178},[1820],{"type":70,"value":379},{"type":64,"tag":165,"props":1822,"children":1823},{"style":1614},[1824],{"type":70,"value":1626},{"type":64,"tag":165,"props":1826,"children":1827},{"style":178},[1828],{"type":70,"value":338},{"type":64,"tag":165,"props":1830,"children":1831},{"style":268},[1832],{"type":70,"value":1635},{"type":64,"tag":165,"props":1834,"children":1835},{"style":184},[1836],{"type":70,"value":1640},{"type":64,"tag":165,"props":1838,"children":1839},{"style":178},[1840],{"type":70,"value":146},{"type":64,"tag":165,"props":1842,"children":1843},{"style":284},[1844],{"type":70,"value":1845},"error",{"type":64,"tag":165,"props":1847,"children":1848},{"style":184},[1849],{"type":70,"value":1653},{"type":64,"tag":165,"props":1851,"children":1852},{"style":178},[1853],{"type":70,"value":379},{"type":64,"tag":165,"props":1855,"children":1856},{"style":184},[1857],{"type":70,"value":1662},{"type":64,"tag":165,"props":1859,"children":1860},{"style":178},[1861],{"type":70,"value":117},{"type":64,"tag":165,"props":1863,"children":1864},{"class":167,"line":758},[1865],{"type":64,"tag":165,"props":1866,"children":1867},{"style":178},[1868],{"type":70,"value":842},{"type":64,"tag":165,"props":1870,"children":1871},{"class":167,"line":775},[1872],{"type":64,"tag":165,"props":1873,"children":1874},{"emptyLinePlaceholder":258},[1875],{"type":70,"value":261},{"type":64,"tag":165,"props":1877,"children":1878},{"class":167,"line":792},[1879,1883,1887],{"type":64,"tag":165,"props":1880,"children":1881},{"style":284},[1882],{"type":70,"value":442},{"type":64,"tag":165,"props":1884,"children":1885},{"style":184},[1886],{"type":70,"value":291},{"type":64,"tag":165,"props":1888,"children":1889},{"style":178},[1890],{"type":70,"value":296},{"type":64,"tag":165,"props":1892,"children":1893},{"class":167,"line":809},[1894,1898,1902,1906,1910,1914,1918,1922,1926],{"type":64,"tag":165,"props":1895,"children":1896},{"style":303},[1897],{"type":70,"value":306},{"type":64,"tag":165,"props":1899,"children":1900},{"style":178},[1901],{"type":70,"value":311},{"type":64,"tag":165,"props":1903,"children":1904},{"style":284},[1905],{"type":70,"value":230},{"type":64,"tag":165,"props":1907,"children":1908},{"style":184},[1909],{"type":70,"value":291},{"type":64,"tag":165,"props":1911,"children":1912},{"style":178},[1913],{"type":70,"value":324},{"type":64,"tag":165,"props":1915,"children":1916},{"style":205},[1917],{"type":70,"value":329},{"type":64,"tag":165,"props":1919,"children":1920},{"style":178},[1921],{"type":70,"value":324},{"type":64,"tag":165,"props":1923,"children":1924},{"style":184},[1925],{"type":70,"value":338},{"type":64,"tag":165,"props":1927,"children":1928},{"style":178},[1929],{"type":70,"value":117},{"type":64,"tag":165,"props":1931,"children":1932},{"class":167,"line":818},[1933,1937],{"type":64,"tag":165,"props":1934,"children":1935},{"style":184},[1936],{"type":70,"value":351},{"type":64,"tag":165,"props":1938,"children":1939},{"style":178},[1940],{"type":70,"value":117},{"type":64,"tag":165,"props":1942,"children":1943},{"class":167,"line":836},[1944,1948,1952,1956,1961,1966],{"type":64,"tag":165,"props":1945,"children":1946},{"style":303},[1947],{"type":70,"value":364},{"type":64,"tag":165,"props":1949,"children":1950},{"style":178},[1951],{"type":70,"value":311},{"type":64,"tag":165,"props":1953,"children":1954},{"style":178},[1955],{"type":70,"value":181},{"type":64,"tag":165,"props":1957,"children":1958},{"style":184},[1959],{"type":70,"value":1960}," logger ",{"type":64,"tag":165,"props":1962,"children":1963},{"style":178},[1964],{"type":70,"value":1965},"},",{"type":64,"tag":165,"props":1967,"children":1968},{"style":382},[1969],{"type":70,"value":1970}," \u002F\u002F all categories on, piped to pino\n",{"type":64,"tag":165,"props":1972,"children":1974},{"class":167,"line":1973},16,[1975,1979],{"type":64,"tag":165,"props":1976,"children":1977},{"style":178},[1978],{"type":70,"value":394},{"type":64,"tag":165,"props":1980,"children":1981},{"style":184},[1982],{"type":70,"value":399},{"type":64,"tag":77,"props":1984,"children":1985},{},[1986,1988,1993],{"type":70,"value":1987},"The default console logger is exported as ",{"type":64,"tag":94,"props":1989,"children":1991},{"className":1990},[],[1992],{"type":70,"value":921},{"type":70,"value":1994}," if you want to wrap\nit:",{"type":64,"tag":155,"props":1996,"children":1998},{"className":157,"code":1997,"language":45,"meta":159,"style":159},"import { ConsoleLogger } from '@tanstack\u002Fai'\n",[1999],{"type":64,"tag":94,"props":2000,"children":2001},{"__ignoreMap":159},[2002],{"type":64,"tag":165,"props":2003,"children":2004},{"class":167,"line":168},[2005,2009,2013,2018,2022,2026,2030,2034],{"type":64,"tag":165,"props":2006,"children":2007},{"style":172},[2008],{"type":70,"value":175},{"type":64,"tag":165,"props":2010,"children":2011},{"style":178},[2012],{"type":70,"value":181},{"type":64,"tag":165,"props":2014,"children":2015},{"style":184},[2016],{"type":70,"value":2017}," ConsoleLogger",{"type":64,"tag":165,"props":2019,"children":2020},{"style":178},[2021],{"type":70,"value":192},{"type":64,"tag":165,"props":2023,"children":2024},{"style":172},[2025],{"type":70,"value":197},{"type":64,"tag":165,"props":2027,"children":2028},{"style":178},[2029],{"type":70,"value":202},{"type":64,"tag":165,"props":2031,"children":2032},{"style":205},[2033],{"type":70,"value":208},{"type":64,"tag":165,"props":2035,"children":2036},{"style":178},[2037],{"type":70,"value":213},{"type":64,"tag":148,"props":2039,"children":2041},{"id":2040},"categories",[2042],{"type":70,"value":2043},"Categories",{"type":64,"tag":857,"props":2045,"children":2046},{},[2047,2068],{"type":64,"tag":861,"props":2048,"children":2049},{},[2050],{"type":64,"tag":865,"props":2051,"children":2052},{},[2053,2058,2063],{"type":64,"tag":869,"props":2054,"children":2055},{},[2056],{"type":70,"value":2057},"Category",{"type":64,"tag":869,"props":2059,"children":2060},{},[2061],{"type":70,"value":2062},"Logs",{"type":64,"tag":869,"props":2064,"children":2065},{},[2066],{"type":70,"value":2067},"Applies to",{"type":64,"tag":885,"props":2069,"children":2070},{},[2071,2093,2115,2136,2163,2189,2215,2249],{"type":64,"tag":865,"props":2072,"children":2073},{},[2074,2083,2088],{"type":64,"tag":892,"props":2075,"children":2076},{},[2077],{"type":64,"tag":94,"props":2078,"children":2080},{"className":2079},[],[2081],{"type":70,"value":2082},"request",{"type":64,"tag":892,"props":2084,"children":2085},{},[2086],{"type":70,"value":2087},"Outgoing call to a provider (model, message count, tool count)",{"type":64,"tag":892,"props":2089,"children":2090},{},[2091],{"type":70,"value":2092},"All activities",{"type":64,"tag":865,"props":2094,"children":2095},{},[2096,2105,2110],{"type":64,"tag":892,"props":2097,"children":2098},{},[2099],{"type":64,"tag":94,"props":2100,"children":2102},{"className":2101},[],[2103],{"type":70,"value":2104},"provider",{"type":64,"tag":892,"props":2106,"children":2107},{},[2108],{"type":70,"value":2109},"Every raw chunk\u002Fframe received from a provider SDK",{"type":64,"tag":892,"props":2111,"children":2112},{},[2113],{"type":70,"value":2114},"Streaming activities (chat, realtime)",{"type":64,"tag":865,"props":2116,"children":2117},{},[2118,2127,2132],{"type":64,"tag":892,"props":2119,"children":2120},{},[2121],{"type":64,"tag":94,"props":2122,"children":2124},{"className":2123},[],[2125],{"type":70,"value":2126},"output",{"type":64,"tag":892,"props":2128,"children":2129},{},[2130],{"type":70,"value":2131},"Every chunk or result yielded to the caller",{"type":64,"tag":892,"props":2133,"children":2134},{},[2135],{"type":70,"value":2092},{"type":64,"tag":865,"props":2137,"children":2138},{},[2139,2148,2153],{"type":64,"tag":892,"props":2140,"children":2141},{},[2142],{"type":64,"tag":94,"props":2143,"children":2145},{"className":2144},[],[2146],{"type":70,"value":2147},"middleware",{"type":64,"tag":892,"props":2149,"children":2150},{},[2151],{"type":70,"value":2152},"Inputs and outputs around every middleware hook",{"type":64,"tag":892,"props":2154,"children":2155},{},[2156,2161],{"type":64,"tag":94,"props":2157,"children":2159},{"className":2158},[],[2160],{"type":70,"value":107},{"type":70,"value":2162}," only",{"type":64,"tag":865,"props":2164,"children":2165},{},[2166,2175,2180],{"type":64,"tag":892,"props":2167,"children":2168},{},[2169],{"type":64,"tag":94,"props":2170,"children":2172},{"className":2171},[],[2173],{"type":70,"value":2174},"tools",{"type":64,"tag":892,"props":2176,"children":2177},{},[2178],{"type":70,"value":2179},"Before\u002Fafter tool call execution",{"type":64,"tag":892,"props":2181,"children":2182},{},[2183,2188],{"type":64,"tag":94,"props":2184,"children":2186},{"className":2185},[],[2187],{"type":70,"value":107},{"type":70,"value":2162},{"type":64,"tag":865,"props":2190,"children":2191},{},[2192,2201,2206],{"type":64,"tag":892,"props":2193,"children":2194},{},[2195],{"type":64,"tag":94,"props":2196,"children":2198},{"className":2197},[],[2199],{"type":70,"value":2200},"agentLoop",{"type":64,"tag":892,"props":2202,"children":2203},{},[2204],{"type":70,"value":2205},"Agent-loop iterations and phase transitions",{"type":64,"tag":892,"props":2207,"children":2208},{},[2209,2214],{"type":64,"tag":94,"props":2210,"children":2212},{"className":2211},[],[2213],{"type":70,"value":107},{"type":70,"value":2162},{"type":64,"tag":865,"props":2216,"children":2217},{},[2218,2227,2240],{"type":64,"tag":892,"props":2219,"children":2220},{},[2221],{"type":64,"tag":94,"props":2222,"children":2224},{"className":2223},[],[2225],{"type":70,"value":2226},"config",{"type":64,"tag":892,"props":2228,"children":2229},{},[2230,2232,2238],{"type":70,"value":2231},"Config transforms returned by middleware ",{"type":64,"tag":94,"props":2233,"children":2235},{"className":2234},[],[2236],{"type":70,"value":2237},"onConfig",{"type":70,"value":2239}," hooks",{"type":64,"tag":892,"props":2241,"children":2242},{},[2243,2248],{"type":64,"tag":94,"props":2244,"children":2246},{"className":2245},[],[2247],{"type":70,"value":107},{"type":70,"value":2162},{"type":64,"tag":865,"props":2250,"children":2251},{},[2252,2260,2265],{"type":64,"tag":892,"props":2253,"children":2254},{},[2255],{"type":64,"tag":94,"props":2256,"children":2258},{"className":2257},[],[2259],{"type":70,"value":569},{"type":64,"tag":892,"props":2261,"children":2262},{},[2263],{"type":70,"value":2264},"Every caught error anywhere in the pipeline",{"type":64,"tag":892,"props":2266,"children":2267},{},[2268],{"type":70,"value":2092},{"type":64,"tag":77,"props":2270,"children":2271},{},[2272],{"type":70,"value":2273},"Chat-only categories simply never fire for non-chat activities — those\nconcepts don't exist in their pipelines.",{"type":64,"tag":148,"props":2275,"children":2277},{"id":2276},"non-chat-activities",[2278],{"type":70,"value":2279},"Non-chat activities",{"type":64,"tag":77,"props":2281,"children":2282},{},[2283,2285,2290],{"type":70,"value":2284},"Same ",{"type":64,"tag":94,"props":2286,"children":2288},{"className":2287},[],[2289],{"type":70,"value":99},{"type":70,"value":2291}," option everywhere:",{"type":64,"tag":155,"props":2293,"children":2295},{"className":157,"code":2294,"language":45,"meta":159,"style":159},"summarize({ adapter, text, debug: true })\ngenerateImage({ adapter, prompt: 'a cat', debug: { logger } })\ngenerateSpeech({ adapter, text, debug: { request: true } })\ngenerateTranscription({ adapter, audio, debug: false })\ngenerateVideo({ adapter, prompt: 'a wave', debug: { output: true } })\n",[2296],{"type":64,"tag":94,"props":2297,"children":2298},{"__ignoreMap":159},[2299,2355,2433,2502,2555],{"type":64,"tag":165,"props":2300,"children":2301},{"class":167,"line":168},[2302,2307,2311,2316,2321,2325,2330,2334,2339,2343,2347,2351],{"type":64,"tag":165,"props":2303,"children":2304},{"style":284},[2305],{"type":70,"value":2306},"summarize",{"type":64,"tag":165,"props":2308,"children":2309},{"style":184},[2310],{"type":70,"value":291},{"type":64,"tag":165,"props":2312,"children":2313},{"style":178},[2314],{"type":70,"value":2315},"{",{"type":64,"tag":165,"props":2317,"children":2318},{"style":184},[2319],{"type":70,"value":2320}," adapter",{"type":64,"tag":165,"props":2322,"children":2323},{"style":178},[2324],{"type":70,"value":379},{"type":64,"tag":165,"props":2326,"children":2327},{"style":184},[2328],{"type":70,"value":2329}," text",{"type":64,"tag":165,"props":2331,"children":2332},{"style":178},[2333],{"type":70,"value":379},{"type":64,"tag":165,"props":2335,"children":2336},{"style":303},[2337],{"type":70,"value":2338}," debug",{"type":64,"tag":165,"props":2340,"children":2341},{"style":178},[2342],{"type":70,"value":311},{"type":64,"tag":165,"props":2344,"children":2345},{"style":371},[2346],{"type":70,"value":374},{"type":64,"tag":165,"props":2348,"children":2349},{"style":178},[2350],{"type":70,"value":192},{"type":64,"tag":165,"props":2352,"children":2353},{"style":184},[2354],{"type":70,"value":399},{"type":64,"tag":165,"props":2356,"children":2357},{"class":167,"line":216},[2358,2363,2367,2371,2375,2379,2384,2388,2392,2397,2401,2405,2409,2413,2417,2421,2425,2429],{"type":64,"tag":165,"props":2359,"children":2360},{"style":284},[2361],{"type":70,"value":2362},"generateImage",{"type":64,"tag":165,"props":2364,"children":2365},{"style":184},[2366],{"type":70,"value":291},{"type":64,"tag":165,"props":2368,"children":2369},{"style":178},[2370],{"type":70,"value":2315},{"type":64,"tag":165,"props":2372,"children":2373},{"style":184},[2374],{"type":70,"value":2320},{"type":64,"tag":165,"props":2376,"children":2377},{"style":178},[2378],{"type":70,"value":379},{"type":64,"tag":165,"props":2380,"children":2381},{"style":303},[2382],{"type":70,"value":2383}," prompt",{"type":64,"tag":165,"props":2385,"children":2386},{"style":178},[2387],{"type":70,"value":311},{"type":64,"tag":165,"props":2389,"children":2390},{"style":178},[2391],{"type":70,"value":202},{"type":64,"tag":165,"props":2393,"children":2394},{"style":205},[2395],{"type":70,"value":2396},"a cat",{"type":64,"tag":165,"props":2398,"children":2399},{"style":178},[2400],{"type":70,"value":324},{"type":64,"tag":165,"props":2402,"children":2403},{"style":178},[2404],{"type":70,"value":379},{"type":64,"tag":165,"props":2406,"children":2407},{"style":303},[2408],{"type":70,"value":2338},{"type":64,"tag":165,"props":2410,"children":2411},{"style":178},[2412],{"type":70,"value":311},{"type":64,"tag":165,"props":2414,"children":2415},{"style":178},[2416],{"type":70,"value":181},{"type":64,"tag":165,"props":2418,"children":2419},{"style":184},[2420],{"type":70,"value":1960},{"type":64,"tag":165,"props":2422,"children":2423},{"style":178},[2424],{"type":70,"value":394},{"type":64,"tag":165,"props":2426,"children":2427},{"style":178},[2428],{"type":70,"value":192},{"type":64,"tag":165,"props":2430,"children":2431},{"style":184},[2432],{"type":70,"value":399},{"type":64,"tag":165,"props":2434,"children":2435},{"class":167,"line":254},[2436,2441,2445,2449,2453,2457,2461,2465,2469,2473,2477,2482,2486,2490,2494,2498],{"type":64,"tag":165,"props":2437,"children":2438},{"style":284},[2439],{"type":70,"value":2440},"generateSpeech",{"type":64,"tag":165,"props":2442,"children":2443},{"style":184},[2444],{"type":70,"value":291},{"type":64,"tag":165,"props":2446,"children":2447},{"style":178},[2448],{"type":70,"value":2315},{"type":64,"tag":165,"props":2450,"children":2451},{"style":184},[2452],{"type":70,"value":2320},{"type":64,"tag":165,"props":2454,"children":2455},{"style":178},[2456],{"type":70,"value":379},{"type":64,"tag":165,"props":2458,"children":2459},{"style":184},[2460],{"type":70,"value":2329},{"type":64,"tag":165,"props":2462,"children":2463},{"style":178},[2464],{"type":70,"value":379},{"type":64,"tag":165,"props":2466,"children":2467},{"style":303},[2468],{"type":70,"value":2338},{"type":64,"tag":165,"props":2470,"children":2471},{"style":178},[2472],{"type":70,"value":311},{"type":64,"tag":165,"props":2474,"children":2475},{"style":178},[2476],{"type":70,"value":181},{"type":64,"tag":165,"props":2478,"children":2479},{"style":303},[2480],{"type":70,"value":2481}," request",{"type":64,"tag":165,"props":2483,"children":2484},{"style":178},[2485],{"type":70,"value":311},{"type":64,"tag":165,"props":2487,"children":2488},{"style":371},[2489],{"type":70,"value":374},{"type":64,"tag":165,"props":2491,"children":2492},{"style":178},[2493],{"type":70,"value":192},{"type":64,"tag":165,"props":2495,"children":2496},{"style":178},[2497],{"type":70,"value":192},{"type":64,"tag":165,"props":2499,"children":2500},{"style":184},[2501],{"type":70,"value":399},{"type":64,"tag":165,"props":2503,"children":2504},{"class":167,"line":264},[2505,2510,2514,2518,2522,2526,2531,2535,2539,2543,2547,2551],{"type":64,"tag":165,"props":2506,"children":2507},{"style":284},[2508],{"type":70,"value":2509},"generateTranscription",{"type":64,"tag":165,"props":2511,"children":2512},{"style":184},[2513],{"type":70,"value":291},{"type":64,"tag":165,"props":2515,"children":2516},{"style":178},[2517],{"type":70,"value":2315},{"type":64,"tag":165,"props":2519,"children":2520},{"style":184},[2521],{"type":70,"value":2320},{"type":64,"tag":165,"props":2523,"children":2524},{"style":178},[2525],{"type":70,"value":379},{"type":64,"tag":165,"props":2527,"children":2528},{"style":184},[2529],{"type":70,"value":2530}," audio",{"type":64,"tag":165,"props":2532,"children":2533},{"style":178},[2534],{"type":70,"value":379},{"type":64,"tag":165,"props":2536,"children":2537},{"style":303},[2538],{"type":70,"value":2338},{"type":64,"tag":165,"props":2540,"children":2541},{"style":178},[2542],{"type":70,"value":311},{"type":64,"tag":165,"props":2544,"children":2545},{"style":371},[2546],{"type":70,"value":516},{"type":64,"tag":165,"props":2548,"children":2549},{"style":178},[2550],{"type":70,"value":192},{"type":64,"tag":165,"props":2552,"children":2553},{"style":184},[2554],{"type":70,"value":399},{"type":64,"tag":165,"props":2556,"children":2557},{"class":167,"line":299},[2558,2563,2567,2571,2575,2579,2583,2587,2591,2596,2600,2604,2608,2612,2616,2621,2625,2629,2633,2637],{"type":64,"tag":165,"props":2559,"children":2560},{"style":284},[2561],{"type":70,"value":2562},"generateVideo",{"type":64,"tag":165,"props":2564,"children":2565},{"style":184},[2566],{"type":70,"value":291},{"type":64,"tag":165,"props":2568,"children":2569},{"style":178},[2570],{"type":70,"value":2315},{"type":64,"tag":165,"props":2572,"children":2573},{"style":184},[2574],{"type":70,"value":2320},{"type":64,"tag":165,"props":2576,"children":2577},{"style":178},[2578],{"type":70,"value":379},{"type":64,"tag":165,"props":2580,"children":2581},{"style":303},[2582],{"type":70,"value":2383},{"type":64,"tag":165,"props":2584,"children":2585},{"style":178},[2586],{"type":70,"value":311},{"type":64,"tag":165,"props":2588,"children":2589},{"style":178},[2590],{"type":70,"value":202},{"type":64,"tag":165,"props":2592,"children":2593},{"style":205},[2594],{"type":70,"value":2595},"a wave",{"type":64,"tag":165,"props":2597,"children":2598},{"style":178},[2599],{"type":70,"value":324},{"type":64,"tag":165,"props":2601,"children":2602},{"style":178},[2603],{"type":70,"value":379},{"type":64,"tag":165,"props":2605,"children":2606},{"style":303},[2607],{"type":70,"value":2338},{"type":64,"tag":165,"props":2609,"children":2610},{"style":178},[2611],{"type":70,"value":311},{"type":64,"tag":165,"props":2613,"children":2614},{"style":178},[2615],{"type":70,"value":181},{"type":64,"tag":165,"props":2617,"children":2618},{"style":303},[2619],{"type":70,"value":2620}," output",{"type":64,"tag":165,"props":2622,"children":2623},{"style":178},[2624],{"type":70,"value":311},{"type":64,"tag":165,"props":2626,"children":2627},{"style":371},[2628],{"type":70,"value":374},{"type":64,"tag":165,"props":2630,"children":2631},{"style":178},[2632],{"type":70,"value":192},{"type":64,"tag":165,"props":2634,"children":2635},{"style":178},[2636],{"type":70,"value":192},{"type":64,"tag":165,"props":2638,"children":2639},{"style":184},[2640],{"type":70,"value":399},{"type":64,"tag":77,"props":2642,"children":2643},{},[2644,2646,2652,2653,2659,2661,2666,2668,2673,2674,2679,2681,2686],{"type":70,"value":2645},"Realtime session adapters in provider packages (e.g. ",{"type":64,"tag":94,"props":2647,"children":2649},{"className":2648},[],[2650],{"type":70,"value":2651},"openaiRealtime",{"type":70,"value":117},{"type":64,"tag":94,"props":2654,"children":2656},{"className":2655},[],[2657],{"type":70,"value":2658},"elevenlabsRealtime",{"type":70,"value":2660},") accept the same ",{"type":64,"tag":94,"props":2662,"children":2664},{"className":2663},[],[2665],{"type":70,"value":853},{"type":70,"value":2667}," on their session\noptions. They emit ",{"type":64,"tag":94,"props":2669,"children":2671},{"className":2670},[],[2672],{"type":70,"value":2082},{"type":70,"value":109},{"type":64,"tag":94,"props":2675,"children":2677},{"className":2676},[],[2678],{"type":70,"value":2104},{"type":70,"value":2680},", and ",{"type":64,"tag":94,"props":2682,"children":2684},{"className":2683},[],[2685],{"type":70,"value":569},{"type":70,"value":2687}," lines; the chat-only\ncategories don't apply.",{"type":64,"tag":148,"props":2689,"children":2691},{"id":2690},"common-mistakes",[2692],{"type":70,"value":2693},"Common Mistakes",{"type":64,"tag":2695,"props":2696,"children":2698},"h3",{"id":2697},"a-high-treating-omitted-debug-as-silent",[2699,2701,2706],{"type":70,"value":2700},"a. HIGH: Treating omitted ",{"type":64,"tag":94,"props":2702,"children":2704},{"className":2703},[],[2705],{"type":70,"value":99},{"type":70,"value":2707}," as silent",{"type":64,"tag":155,"props":2709,"children":2711},{"className":157,"code":2710,"language":45,"meta":159,"style":159},"\u002F\u002F WRONG — expecting this to be completely silent\nchat({ adapter, messages })\n\u002F\u002F Errors still print via [tanstack-ai:errors] ... on failure.\n\n\u002F\u002F CORRECT — explicit silence\nchat({ adapter, messages, debug: false })\nchat({ adapter, messages, debug: { errors: false } })\n",[2712],{"type":64,"tag":94,"props":2713,"children":2714},{"__ignoreMap":159},[2715,2723,2759,2767,2774,2782,2834],{"type":64,"tag":165,"props":2716,"children":2717},{"class":167,"line":168},[2718],{"type":64,"tag":165,"props":2719,"children":2720},{"style":382},[2721],{"type":70,"value":2722},"\u002F\u002F WRONG — expecting this to be completely silent\n",{"type":64,"tag":165,"props":2724,"children":2725},{"class":167,"line":216},[2726,2730,2734,2738,2742,2746,2751,2755],{"type":64,"tag":165,"props":2727,"children":2728},{"style":284},[2729],{"type":70,"value":442},{"type":64,"tag":165,"props":2731,"children":2732},{"style":184},[2733],{"type":70,"value":291},{"type":64,"tag":165,"props":2735,"children":2736},{"style":178},[2737],{"type":70,"value":2315},{"type":64,"tag":165,"props":2739,"children":2740},{"style":184},[2741],{"type":70,"value":2320},{"type":64,"tag":165,"props":2743,"children":2744},{"style":178},[2745],{"type":70,"value":379},{"type":64,"tag":165,"props":2747,"children":2748},{"style":184},[2749],{"type":70,"value":2750}," messages ",{"type":64,"tag":165,"props":2752,"children":2753},{"style":178},[2754],{"type":70,"value":394},{"type":64,"tag":165,"props":2756,"children":2757},{"style":184},[2758],{"type":70,"value":399},{"type":64,"tag":165,"props":2760,"children":2761},{"class":167,"line":254},[2762],{"type":64,"tag":165,"props":2763,"children":2764},{"style":382},[2765],{"type":70,"value":2766},"\u002F\u002F Errors still print via [tanstack-ai:errors] ... on failure.\n",{"type":64,"tag":165,"props":2768,"children":2769},{"class":167,"line":264},[2770],{"type":64,"tag":165,"props":2771,"children":2772},{"emptyLinePlaceholder":258},[2773],{"type":70,"value":261},{"type":64,"tag":165,"props":2775,"children":2776},{"class":167,"line":299},[2777],{"type":64,"tag":165,"props":2778,"children":2779},{"style":382},[2780],{"type":70,"value":2781},"\u002F\u002F CORRECT — explicit silence\n",{"type":64,"tag":165,"props":2783,"children":2784},{"class":167,"line":345},[2785,2789,2793,2797,2801,2805,2810,2814,2818,2822,2826,2830],{"type":64,"tag":165,"props":2786,"children":2787},{"style":284},[2788],{"type":70,"value":442},{"type":64,"tag":165,"props":2790,"children":2791},{"style":184},[2792],{"type":70,"value":291},{"type":64,"tag":165,"props":2794,"children":2795},{"style":178},[2796],{"type":70,"value":2315},{"type":64,"tag":165,"props":2798,"children":2799},{"style":184},[2800],{"type":70,"value":2320},{"type":64,"tag":165,"props":2802,"children":2803},{"style":178},[2804],{"type":70,"value":379},{"type":64,"tag":165,"props":2806,"children":2807},{"style":184},[2808],{"type":70,"value":2809}," messages",{"type":64,"tag":165,"props":2811,"children":2812},{"style":178},[2813],{"type":70,"value":379},{"type":64,"tag":165,"props":2815,"children":2816},{"style":303},[2817],{"type":70,"value":2338},{"type":64,"tag":165,"props":2819,"children":2820},{"style":178},[2821],{"type":70,"value":311},{"type":64,"tag":165,"props":2823,"children":2824},{"style":371},[2825],{"type":70,"value":516},{"type":64,"tag":165,"props":2827,"children":2828},{"style":178},[2829],{"type":70,"value":192},{"type":64,"tag":165,"props":2831,"children":2832},{"style":184},[2833],{"type":70,"value":399},{"type":64,"tag":165,"props":2835,"children":2836},{"class":167,"line":358},[2837,2841,2845,2849,2853,2857,2861,2865,2869,2873,2877,2882,2886,2890,2894,2898],{"type":64,"tag":165,"props":2838,"children":2839},{"style":284},[2840],{"type":70,"value":442},{"type":64,"tag":165,"props":2842,"children":2843},{"style":184},[2844],{"type":70,"value":291},{"type":64,"tag":165,"props":2846,"children":2847},{"style":178},[2848],{"type":70,"value":2315},{"type":64,"tag":165,"props":2850,"children":2851},{"style":184},[2852],{"type":70,"value":2320},{"type":64,"tag":165,"props":2854,"children":2855},{"style":178},[2856],{"type":70,"value":379},{"type":64,"tag":165,"props":2858,"children":2859},{"style":184},[2860],{"type":70,"value":2809},{"type":64,"tag":165,"props":2862,"children":2863},{"style":178},[2864],{"type":70,"value":379},{"type":64,"tag":165,"props":2866,"children":2867},{"style":303},[2868],{"type":70,"value":2338},{"type":64,"tag":165,"props":2870,"children":2871},{"style":178},[2872],{"type":70,"value":311},{"type":64,"tag":165,"props":2874,"children":2875},{"style":178},[2876],{"type":70,"value":181},{"type":64,"tag":165,"props":2878,"children":2879},{"style":303},[2880],{"type":70,"value":2881}," errors",{"type":64,"tag":165,"props":2883,"children":2884},{"style":178},[2885],{"type":70,"value":311},{"type":64,"tag":165,"props":2887,"children":2888},{"style":371},[2889],{"type":70,"value":516},{"type":64,"tag":165,"props":2891,"children":2892},{"style":178},[2893],{"type":70,"value":192},{"type":64,"tag":165,"props":2895,"children":2896},{"style":178},[2897],{"type":70,"value":192},{"type":64,"tag":165,"props":2899,"children":2900},{"style":184},[2901],{"type":70,"value":399},{"type":64,"tag":77,"props":2903,"children":2904},{},[2905,2910,2912,2917],{"type":64,"tag":94,"props":2906,"children":2908},{"className":2907},[],[2909],{"type":70,"value":99},{"type":70,"value":2911}," undefined means \"only errors\"; ",{"type":64,"tag":94,"props":2913,"children":2915},{"className":2914},[],[2916],{"type":70,"value":561},{"type":70,"value":2918}," means \"nothing at all\".",{"type":64,"tag":77,"props":2920,"children":2921},{},[2922],{"type":70,"value":2923},"Source: docs\u002Fadvanced\u002Fdebug-logging.md",{"type":64,"tag":2695,"props":2925,"children":2927},{"id":2926},"b-medium-reaching-for-middleware-when-debug-would-do",[2928,2930,2935],{"type":70,"value":2929},"b. MEDIUM: Reaching for middleware when ",{"type":64,"tag":94,"props":2931,"children":2933},{"className":2932},[],[2934],{"type":70,"value":99},{"type":70,"value":2936}," would do",{"type":64,"tag":155,"props":2938,"children":2940},{"className":157,"code":2939,"language":45,"meta":159,"style":159},"\u002F\u002F WRONG — writing logging middleware to see chunks flow\nconst chunkLogger: ChatMiddleware = {\n  name: 'chunk-logger',\n  onChunk: (ctx, chunk) => {\n    console.log(chunk.type, chunk)\n  },\n}\nchat({ adapter, messages, middleware: [chunkLogger] })\n\n\u002F\u002F CORRECT — just turn on the relevant categories\nchat({\n  adapter,\n  messages,\n  debug: { provider: true, output: true },\n})\n",[2941],{"type":64,"tag":94,"props":2942,"children":2943},{"__ignoreMap":159},[2944,2952,2981,3010,3052,3098,3105,3112,3164,3171,3179,3194,3205,3216,3265],{"type":64,"tag":165,"props":2945,"children":2946},{"class":167,"line":168},[2947],{"type":64,"tag":165,"props":2948,"children":2949},{"style":382},[2950],{"type":70,"value":2951},"\u002F\u002F WRONG — writing logging middleware to see chunks flow\n",{"type":64,"tag":165,"props":2953,"children":2954},{"class":167,"line":216},[2955,2959,2964,2968,2973,2977],{"type":64,"tag":165,"props":2956,"children":2957},{"style":268},[2958],{"type":70,"value":271},{"type":64,"tag":165,"props":2960,"children":2961},{"style":184},[2962],{"type":70,"value":2963}," chunkLogger",{"type":64,"tag":165,"props":2965,"children":2966},{"style":178},[2967],{"type":70,"value":311},{"type":64,"tag":165,"props":2969,"children":2970},{"style":616},[2971],{"type":70,"value":2972}," ChatMiddleware",{"type":64,"tag":165,"props":2974,"children":2975},{"style":178},[2976],{"type":70,"value":624},{"type":64,"tag":165,"props":2978,"children":2979},{"style":178},[2980],{"type":70,"value":664},{"type":64,"tag":165,"props":2982,"children":2983},{"class":167,"line":254},[2984,2989,2993,2997,3002,3006],{"type":64,"tag":165,"props":2985,"children":2986},{"style":303},[2987],{"type":70,"value":2988},"  name",{"type":64,"tag":165,"props":2990,"children":2991},{"style":178},[2992],{"type":70,"value":311},{"type":64,"tag":165,"props":2994,"children":2995},{"style":178},[2996],{"type":70,"value":202},{"type":64,"tag":165,"props":2998,"children":2999},{"style":205},[3000],{"type":70,"value":3001},"chunk-logger",{"type":64,"tag":165,"props":3003,"children":3004},{"style":178},[3005],{"type":70,"value":324},{"type":64,"tag":165,"props":3007,"children":3008},{"style":178},[3009],{"type":70,"value":117},{"type":64,"tag":165,"props":3011,"children":3012},{"class":167,"line":264},[3013,3018,3022,3026,3031,3035,3040,3044,3048],{"type":64,"tag":165,"props":3014,"children":3015},{"style":284},[3016],{"type":70,"value":3017},"  onChunk",{"type":64,"tag":165,"props":3019,"children":3020},{"style":178},[3021],{"type":70,"value":311},{"type":64,"tag":165,"props":3023,"children":3024},{"style":178},[3025],{"type":70,"value":1611},{"type":64,"tag":165,"props":3027,"children":3028},{"style":1614},[3029],{"type":70,"value":3030},"ctx",{"type":64,"tag":165,"props":3032,"children":3033},{"style":178},[3034],{"type":70,"value":379},{"type":64,"tag":165,"props":3036,"children":3037},{"style":1614},[3038],{"type":70,"value":3039}," chunk",{"type":64,"tag":165,"props":3041,"children":3042},{"style":178},[3043],{"type":70,"value":338},{"type":64,"tag":165,"props":3045,"children":3046},{"style":268},[3047],{"type":70,"value":1635},{"type":64,"tag":165,"props":3049,"children":3050},{"style":178},[3051],{"type":70,"value":664},{"type":64,"tag":165,"props":3053,"children":3054},{"class":167,"line":299},[3055,3060,3064,3069,3073,3078,3082,3086,3090,3094],{"type":64,"tag":165,"props":3056,"children":3057},{"style":184},[3058],{"type":70,"value":3059},"    console",{"type":64,"tag":165,"props":3061,"children":3062},{"style":178},[3063],{"type":70,"value":146},{"type":64,"tag":165,"props":3065,"children":3066},{"style":284},[3067],{"type":70,"value":3068},"log",{"type":64,"tag":165,"props":3070,"children":3071},{"style":303},[3072],{"type":70,"value":291},{"type":64,"tag":165,"props":3074,"children":3075},{"style":184},[3076],{"type":70,"value":3077},"chunk",{"type":64,"tag":165,"props":3079,"children":3080},{"style":178},[3081],{"type":70,"value":146},{"type":64,"tag":165,"props":3083,"children":3084},{"style":184},[3085],{"type":70,"value":613},{"type":64,"tag":165,"props":3087,"children":3088},{"style":178},[3089],{"type":70,"value":379},{"type":64,"tag":165,"props":3091,"children":3092},{"style":184},[3093],{"type":70,"value":3039},{"type":64,"tag":165,"props":3095,"children":3096},{"style":303},[3097],{"type":70,"value":399},{"type":64,"tag":165,"props":3099,"children":3100},{"class":167,"line":345},[3101],{"type":64,"tag":165,"props":3102,"children":3103},{"style":178},[3104],{"type":70,"value":1439},{"type":64,"tag":165,"props":3106,"children":3107},{"class":167,"line":358},[3108],{"type":64,"tag":165,"props":3109,"children":3110},{"style":178},[3111],{"type":70,"value":842},{"type":64,"tag":165,"props":3113,"children":3114},{"class":167,"line":388},[3115,3119,3123,3127,3131,3135,3139,3143,3147,3151,3156,3160],{"type":64,"tag":165,"props":3116,"children":3117},{"style":284},[3118],{"type":70,"value":442},{"type":64,"tag":165,"props":3120,"children":3121},{"style":184},[3122],{"type":70,"value":291},{"type":64,"tag":165,"props":3124,"children":3125},{"style":178},[3126],{"type":70,"value":2315},{"type":64,"tag":165,"props":3128,"children":3129},{"style":184},[3130],{"type":70,"value":2320},{"type":64,"tag":165,"props":3132,"children":3133},{"style":178},[3134],{"type":70,"value":379},{"type":64,"tag":165,"props":3136,"children":3137},{"style":184},[3138],{"type":70,"value":2809},{"type":64,"tag":165,"props":3140,"children":3141},{"style":178},[3142],{"type":70,"value":379},{"type":64,"tag":165,"props":3144,"children":3145},{"style":303},[3146],{"type":70,"value":1138},{"type":64,"tag":165,"props":3148,"children":3149},{"style":178},[3150],{"type":70,"value":311},{"type":64,"tag":165,"props":3152,"children":3153},{"style":184},[3154],{"type":70,"value":3155}," [chunkLogger] ",{"type":64,"tag":165,"props":3157,"children":3158},{"style":178},[3159],{"type":70,"value":394},{"type":64,"tag":165,"props":3161,"children":3162},{"style":184},[3163],{"type":70,"value":399},{"type":64,"tag":165,"props":3165,"children":3166},{"class":167,"line":741},[3167],{"type":64,"tag":165,"props":3168,"children":3169},{"emptyLinePlaceholder":258},[3170],{"type":70,"value":261},{"type":64,"tag":165,"props":3172,"children":3173},{"class":167,"line":758},[3174],{"type":64,"tag":165,"props":3175,"children":3176},{"style":382},[3177],{"type":70,"value":3178},"\u002F\u002F CORRECT — just turn on the relevant categories\n",{"type":64,"tag":165,"props":3180,"children":3181},{"class":167,"line":775},[3182,3186,3190],{"type":64,"tag":165,"props":3183,"children":3184},{"style":284},[3185],{"type":70,"value":442},{"type":64,"tag":165,"props":3187,"children":3188},{"style":184},[3189],{"type":70,"value":291},{"type":64,"tag":165,"props":3191,"children":3192},{"style":178},[3193],{"type":70,"value":296},{"type":64,"tag":165,"props":3195,"children":3196},{"class":167,"line":792},[3197,3201],{"type":64,"tag":165,"props":3198,"children":3199},{"style":184},[3200],{"type":70,"value":306},{"type":64,"tag":165,"props":3202,"children":3203},{"style":178},[3204],{"type":70,"value":117},{"type":64,"tag":165,"props":3206,"children":3207},{"class":167,"line":809},[3208,3212],{"type":64,"tag":165,"props":3209,"children":3210},{"style":184},[3211],{"type":70,"value":351},{"type":64,"tag":165,"props":3213,"children":3214},{"style":178},[3215],{"type":70,"value":117},{"type":64,"tag":165,"props":3217,"children":3218},{"class":167,"line":818},[3219,3223,3227,3231,3236,3240,3244,3248,3252,3256,3260],{"type":64,"tag":165,"props":3220,"children":3221},{"style":303},[3222],{"type":70,"value":364},{"type":64,"tag":165,"props":3224,"children":3225},{"style":178},[3226],{"type":70,"value":311},{"type":64,"tag":165,"props":3228,"children":3229},{"style":178},[3230],{"type":70,"value":181},{"type":64,"tag":165,"props":3232,"children":3233},{"style":303},[3234],{"type":70,"value":3235}," provider",{"type":64,"tag":165,"props":3237,"children":3238},{"style":178},[3239],{"type":70,"value":311},{"type":64,"tag":165,"props":3241,"children":3242},{"style":371},[3243],{"type":70,"value":374},{"type":64,"tag":165,"props":3245,"children":3246},{"style":178},[3247],{"type":70,"value":379},{"type":64,"tag":165,"props":3249,"children":3250},{"style":303},[3251],{"type":70,"value":2620},{"type":64,"tag":165,"props":3253,"children":3254},{"style":178},[3255],{"type":70,"value":311},{"type":64,"tag":165,"props":3257,"children":3258},{"style":371},[3259],{"type":70,"value":374},{"type":64,"tag":165,"props":3261,"children":3262},{"style":178},[3263],{"type":70,"value":3264}," },\n",{"type":64,"tag":165,"props":3266,"children":3267},{"class":167,"line":836},[3268,3272],{"type":64,"tag":165,"props":3269,"children":3270},{"style":178},[3271],{"type":70,"value":394},{"type":64,"tag":165,"props":3273,"children":3274},{"style":184},[3275],{"type":70,"value":399},{"type":64,"tag":77,"props":3277,"children":3278},{},[3279,3281,3286,3288,3294],{"type":70,"value":3280},"For observing the built-in pipeline, the ",{"type":64,"tag":94,"props":3282,"children":3284},{"className":3283},[],[3285],{"type":70,"value":99},{"type":70,"value":3287}," option is strictly faster\nthan writing logging middleware. Reach for middleware when you need to\n",{"type":64,"tag":3289,"props":3290,"children":3291},"em",{},[3292],{"type":70,"value":3293},"transform",{"type":70,"value":3295}," chunks, not just see them.",{"type":64,"tag":77,"props":3297,"children":3298},{},[3299],{"type":70,"value":2923},{"type":64,"tag":2695,"props":3301,"children":3303},{"id":3302},"c-low-logger-implementation-that-can-throw",[3304],{"type":70,"value":3305},"c. LOW: Logger implementation that can throw",{"type":64,"tag":77,"props":3307,"children":3308},{},[3309,3311,3317],{"type":70,"value":3310},"A user-supplied ",{"type":64,"tag":94,"props":3312,"children":3314},{"className":3313},[],[3315],{"type":70,"value":3316},"Logger",{"type":70,"value":3318}," that throws will have its exception swallowed by the\nSDK so it never masks the real error that triggered the log call. Still,\nprefer implementations that don't throw — silenced exceptions are harder to\ndebug than loud ones.",{"type":64,"tag":155,"props":3320,"children":3322},{"className":157,"code":3321,"language":45,"meta":159,"style":159},"\u002F\u002F WRONG — a logger that can throw on serialization\nconst fragile: Logger = {\n  debug: (msg, meta) => console.debug(msg, JSON.stringify(meta)), \u002F\u002F cyclic meta → throws\n  \u002F* ... *\u002F\n}\n\n\u002F\u002F CORRECT — guard serialization in the logger itself\nconst safe: Logger = {\n  debug: (msg, meta) => {\n    try {\n      console.debug(msg, meta)\n    } catch {\n      console.debug(msg)\n    }\n  },\n  \u002F* ... *\u002F\n}\n",[3323],{"type":64,"tag":94,"props":3324,"children":3325},{"__ignoreMap":159},[3326,3334,3362,3447,3455,3462,3469,3477,3505,3544,3556,3592,3609,3636,3644,3651,3658],{"type":64,"tag":165,"props":3327,"children":3328},{"class":167,"line":168},[3329],{"type":64,"tag":165,"props":3330,"children":3331},{"style":382},[3332],{"type":70,"value":3333},"\u002F\u002F WRONG — a logger that can throw on serialization\n",{"type":64,"tag":165,"props":3335,"children":3336},{"class":167,"line":216},[3337,3341,3346,3350,3354,3358],{"type":64,"tag":165,"props":3338,"children":3339},{"style":268},[3340],{"type":70,"value":271},{"type":64,"tag":165,"props":3342,"children":3343},{"style":184},[3344],{"type":70,"value":3345}," fragile",{"type":64,"tag":165,"props":3347,"children":3348},{"style":178},[3349],{"type":70,"value":311},{"type":64,"tag":165,"props":3351,"children":3352},{"style":616},[3353],{"type":70,"value":1484},{"type":64,"tag":165,"props":3355,"children":3356},{"style":178},[3357],{"type":70,"value":624},{"type":64,"tag":165,"props":3359,"children":3360},{"style":178},[3361],{"type":70,"value":664},{"type":64,"tag":165,"props":3363,"children":3364},{"class":167,"line":254},[3365,3369,3373,3377,3381,3385,3389,3393,3397,3402,3406,3410,3415,3419,3424,3428,3433,3438,3442],{"type":64,"tag":165,"props":3366,"children":3367},{"style":284},[3368],{"type":70,"value":364},{"type":64,"tag":165,"props":3370,"children":3371},{"style":178},[3372],{"type":70,"value":311},{"type":64,"tag":165,"props":3374,"children":3375},{"style":178},[3376],{"type":70,"value":1611},{"type":64,"tag":165,"props":3378,"children":3379},{"style":1614},[3380],{"type":70,"value":1617},{"type":64,"tag":165,"props":3382,"children":3383},{"style":178},[3384],{"type":70,"value":379},{"type":64,"tag":165,"props":3386,"children":3387},{"style":1614},[3388],{"type":70,"value":1626},{"type":64,"tag":165,"props":3390,"children":3391},{"style":178},[3392],{"type":70,"value":338},{"type":64,"tag":165,"props":3394,"children":3395},{"style":268},[3396],{"type":70,"value":1635},{"type":64,"tag":165,"props":3398,"children":3399},{"style":184},[3400],{"type":70,"value":3401}," console",{"type":64,"tag":165,"props":3403,"children":3404},{"style":178},[3405],{"type":70,"value":146},{"type":64,"tag":165,"props":3407,"children":3408},{"style":284},[3409],{"type":70,"value":99},{"type":64,"tag":165,"props":3411,"children":3412},{"style":184},[3413],{"type":70,"value":3414},"(msg",{"type":64,"tag":165,"props":3416,"children":3417},{"style":178},[3418],{"type":70,"value":379},{"type":64,"tag":165,"props":3420,"children":3421},{"style":184},[3422],{"type":70,"value":3423}," JSON",{"type":64,"tag":165,"props":3425,"children":3426},{"style":178},[3427],{"type":70,"value":146},{"type":64,"tag":165,"props":3429,"children":3430},{"style":284},[3431],{"type":70,"value":3432},"stringify",{"type":64,"tag":165,"props":3434,"children":3435},{"style":184},[3436],{"type":70,"value":3437},"(meta))",{"type":64,"tag":165,"props":3439,"children":3440},{"style":178},[3441],{"type":70,"value":379},{"type":64,"tag":165,"props":3443,"children":3444},{"style":382},[3445],{"type":70,"value":3446}," \u002F\u002F cyclic meta → throws\n",{"type":64,"tag":165,"props":3448,"children":3449},{"class":167,"line":264},[3450],{"type":64,"tag":165,"props":3451,"children":3452},{"style":382},[3453],{"type":70,"value":3454},"  \u002F* ... *\u002F\n",{"type":64,"tag":165,"props":3456,"children":3457},{"class":167,"line":299},[3458],{"type":64,"tag":165,"props":3459,"children":3460},{"style":178},[3461],{"type":70,"value":842},{"type":64,"tag":165,"props":3463,"children":3464},{"class":167,"line":345},[3465],{"type":64,"tag":165,"props":3466,"children":3467},{"emptyLinePlaceholder":258},[3468],{"type":70,"value":261},{"type":64,"tag":165,"props":3470,"children":3471},{"class":167,"line":358},[3472],{"type":64,"tag":165,"props":3473,"children":3474},{"style":382},[3475],{"type":70,"value":3476},"\u002F\u002F CORRECT — guard serialization in the logger itself\n",{"type":64,"tag":165,"props":3478,"children":3479},{"class":167,"line":388},[3480,3484,3489,3493,3497,3501],{"type":64,"tag":165,"props":3481,"children":3482},{"style":268},[3483],{"type":70,"value":271},{"type":64,"tag":165,"props":3485,"children":3486},{"style":184},[3487],{"type":70,"value":3488}," safe",{"type":64,"tag":165,"props":3490,"children":3491},{"style":178},[3492],{"type":70,"value":311},{"type":64,"tag":165,"props":3494,"children":3495},{"style":616},[3496],{"type":70,"value":1484},{"type":64,"tag":165,"props":3498,"children":3499},{"style":178},[3500],{"type":70,"value":624},{"type":64,"tag":165,"props":3502,"children":3503},{"style":178},[3504],{"type":70,"value":664},{"type":64,"tag":165,"props":3506,"children":3507},{"class":167,"line":741},[3508,3512,3516,3520,3524,3528,3532,3536,3540],{"type":64,"tag":165,"props":3509,"children":3510},{"style":284},[3511],{"type":70,"value":364},{"type":64,"tag":165,"props":3513,"children":3514},{"style":178},[3515],{"type":70,"value":311},{"type":64,"tag":165,"props":3517,"children":3518},{"style":178},[3519],{"type":70,"value":1611},{"type":64,"tag":165,"props":3521,"children":3522},{"style":1614},[3523],{"type":70,"value":1617},{"type":64,"tag":165,"props":3525,"children":3526},{"style":178},[3527],{"type":70,"value":379},{"type":64,"tag":165,"props":3529,"children":3530},{"style":1614},[3531],{"type":70,"value":1626},{"type":64,"tag":165,"props":3533,"children":3534},{"style":178},[3535],{"type":70,"value":338},{"type":64,"tag":165,"props":3537,"children":3538},{"style":268},[3539],{"type":70,"value":1635},{"type":64,"tag":165,"props":3541,"children":3542},{"style":178},[3543],{"type":70,"value":664},{"type":64,"tag":165,"props":3545,"children":3546},{"class":167,"line":758},[3547,3552],{"type":64,"tag":165,"props":3548,"children":3549},{"style":172},[3550],{"type":70,"value":3551},"    try",{"type":64,"tag":165,"props":3553,"children":3554},{"style":178},[3555],{"type":70,"value":664},{"type":64,"tag":165,"props":3557,"children":3558},{"class":167,"line":775},[3559,3564,3568,3572,3576,3580,3584,3588],{"type":64,"tag":165,"props":3560,"children":3561},{"style":184},[3562],{"type":70,"value":3563},"      console",{"type":64,"tag":165,"props":3565,"children":3566},{"style":178},[3567],{"type":70,"value":146},{"type":64,"tag":165,"props":3569,"children":3570},{"style":284},[3571],{"type":70,"value":99},{"type":64,"tag":165,"props":3573,"children":3574},{"style":303},[3575],{"type":70,"value":291},{"type":64,"tag":165,"props":3577,"children":3578},{"style":184},[3579],{"type":70,"value":1617},{"type":64,"tag":165,"props":3581,"children":3582},{"style":178},[3583],{"type":70,"value":379},{"type":64,"tag":165,"props":3585,"children":3586},{"style":184},[3587],{"type":70,"value":1626},{"type":64,"tag":165,"props":3589,"children":3590},{"style":303},[3591],{"type":70,"value":399},{"type":64,"tag":165,"props":3593,"children":3594},{"class":167,"line":792},[3595,3600,3605],{"type":64,"tag":165,"props":3596,"children":3597},{"style":178},[3598],{"type":70,"value":3599},"    }",{"type":64,"tag":165,"props":3601,"children":3602},{"style":172},[3603],{"type":70,"value":3604}," catch",{"type":64,"tag":165,"props":3606,"children":3607},{"style":178},[3608],{"type":70,"value":664},{"type":64,"tag":165,"props":3610,"children":3611},{"class":167,"line":809},[3612,3616,3620,3624,3628,3632],{"type":64,"tag":165,"props":3613,"children":3614},{"style":184},[3615],{"type":70,"value":3563},{"type":64,"tag":165,"props":3617,"children":3618},{"style":178},[3619],{"type":70,"value":146},{"type":64,"tag":165,"props":3621,"children":3622},{"style":284},[3623],{"type":70,"value":99},{"type":64,"tag":165,"props":3625,"children":3626},{"style":303},[3627],{"type":70,"value":291},{"type":64,"tag":165,"props":3629,"children":3630},{"style":184},[3631],{"type":70,"value":1617},{"type":64,"tag":165,"props":3633,"children":3634},{"style":303},[3635],{"type":70,"value":399},{"type":64,"tag":165,"props":3637,"children":3638},{"class":167,"line":818},[3639],{"type":64,"tag":165,"props":3640,"children":3641},{"style":178},[3642],{"type":70,"value":3643},"    }\n",{"type":64,"tag":165,"props":3645,"children":3646},{"class":167,"line":836},[3647],{"type":64,"tag":165,"props":3648,"children":3649},{"style":178},[3650],{"type":70,"value":1439},{"type":64,"tag":165,"props":3652,"children":3653},{"class":167,"line":1973},[3654],{"type":64,"tag":165,"props":3655,"children":3656},{"style":382},[3657],{"type":70,"value":3454},{"type":64,"tag":165,"props":3659,"children":3661},{"class":167,"line":3660},17,[3662],{"type":64,"tag":165,"props":3663,"children":3664},{"style":178},[3665],{"type":70,"value":842},{"type":64,"tag":77,"props":3667,"children":3668},{},[3669],{"type":70,"value":3670},"Source: packages\u002Fai\u002Fsrc\u002Flogger\u002Finternal-logger.ts",{"type":64,"tag":148,"props":3672,"children":3674},{"id":3673},"cross-references",[3675],{"type":70,"value":3676},"Cross-References",{"type":64,"tag":3678,"props":3679,"children":3680},"ul",{},[3681,3694],{"type":64,"tag":3682,"props":3683,"children":3684},"li",{},[3685,3687,3692],{"type":70,"value":3686},"See also: ",{"type":64,"tag":81,"props":3688,"children":3689},{},[3690],{"type":70,"value":3691},"ai-core\u002Fmiddleware\u002FSKILL.md",{"type":70,"value":3693}," — if you need to transform\nchunks\u002Fconfig, not just observe them.",{"type":64,"tag":3682,"props":3695,"children":3696},{},[3697,3698,3702,3703,3709],{"type":70,"value":3686},{"type":64,"tag":81,"props":3699,"children":3700},{},[3701],{"type":70,"value":14},{"type":70,"value":1611},{"type":64,"tag":94,"props":3704,"children":3706},{"className":3705},[],[3707],{"type":70,"value":3708},"docs\u002Fadvanced\u002Fobservability.md",{"type":70,"value":3710},") — the\nprogrammatic event client for a richer, structured feed beyond log lines.",{"type":64,"tag":3712,"props":3713,"children":3714},"style",{},[3715],{"type":70,"value":3716},"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);}",{"items":3718,"total":3820},[3719,3737,3751,3765,3778,3792,3806],{"slug":3720,"name":3720,"fn":3721,"description":3722,"org":3723,"tags":3724,"stars":24,"repoUrl":25,"updatedAt":3736},"ai-code-mode","execute sandboxed TypeScript code with LLMs","LLM-generated TypeScript execution in sandboxed environments: createCodeModeTool() with isolate drivers (createNodeIsolateDriver, createQuickJSIsolateDriver, createCloudflareIsolateDriver), codeModeWithSkills() for persistent skill libraries, trust strategies, skill storage (FileSystem, LocalStorage, InMemory, Mongo), client-side execution progress via code_mode:* custom events in useChat.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3725,3727,3730,3733,3734],{"name":3726,"slug":32,"type":16},"AI SDK",{"name":3728,"slug":3729,"type":16},"Code Execution","code-execution",{"name":3731,"slug":3732,"type":16},"Sandboxing","sandboxing",{"name":10,"slug":9,"type":16},{"name":3735,"slug":45,"type":16},"TypeScript","2026-07-16T06:04:13.597905",{"slug":3738,"name":3738,"fn":3739,"description":3740,"org":3741,"tags":3742,"stars":24,"repoUrl":25,"updatedAt":3750},"ai-core","configure TanStack AI agent features","Entry point for TanStack AI skills. Routes to chat-experience, tool-calling, media-generation, structured-outputs, adapter-configuration, ag-ui-protocol, middleware, locks, custom-backend-integration, and debug-logging, plus the skills shipped by companion packages (@tanstack\u002Fai-persistence, @tanstack\u002Fai-code-mode). Use chat() not streamText(), openaiText() not createOpenAI(), toServerSentEventsResponse() not manual SSE, middleware hooks not onEnd callbacks.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3743,3746,3748],{"name":3744,"slug":3745,"type":16},"Agents","agents",{"name":3747,"slug":30,"type":16},"AI",{"name":3749,"slug":2147,"type":16},"Middleware","2026-07-30T05:26:10.404565",{"slug":3752,"name":3753,"fn":3754,"description":3755,"org":3756,"tags":3757,"stars":24,"repoUrl":25,"updatedAt":3764},"ai-coreadapter-configuration","ai-core\u002Fadapter-configuration","configure AI provider adapters","Provider adapter selection and configuration: openaiText, anthropicText, geminiText, ollamaText, grokText, groqText, openRouterText, bedrockText, openaiCompatible. Per-model type safety with modelOptions, reasoning\u002Fthinking configuration, runtime adapter switching, extendAdapter() for custom models, createModel(). Generic OpenAI-compatible providers (DeepSeek, Together, Fireworks, etc.) via openaiCompatible({ baseURL, apiKey, models }) from @tanstack\u002Fai-openai\u002Fcompatible. API key env vars: OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY\u002FGEMINI_API_KEY, XAI_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, OLLAMA_HOST, BEDROCK_API_KEY (or AWS_BEARER_TOKEN_BEDROCK).\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3758,3759,3762,3763],{"name":3726,"slug":32,"type":16},{"name":3760,"slug":3761,"type":16},"Configuration","configuration",{"name":18,"slug":19,"type":16},{"name":10,"slug":9,"type":16},"2026-07-16T06:04:17.82075",{"slug":3766,"name":3767,"fn":3768,"description":3769,"org":3770,"tags":3771,"stars":24,"repoUrl":25,"updatedAt":3777},"ai-coreag-ui-protocol","ai-core\u002Fag-ui-protocol","implement TanStack AI streaming protocol","Server-side AG-UI streaming protocol implementation: StreamChunk event types (RUN_STARTED, TEXT_MESSAGE_START\u002FCONTENT\u002FEND, TOOL_CALL_START\u002FARGS\u002FEND, RUN_FINISHED, RUN_ERROR, STEP_STARTED\u002FSTEP_FINISHED, STATE_SNAPSHOT\u002FDELTA, CUSTOM), toServerSentEventsStream() for SSE format, toHttpStream() for NDJSON format. For backends serving AG-UI events without client packages.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3772,3775,3776],{"name":3773,"slug":3774,"type":16},"API Development","api-development",{"name":18,"slug":19,"type":16},{"name":10,"slug":9,"type":16},"2026-07-16T06:04:10.093367",{"slug":3779,"name":3780,"fn":3781,"description":3782,"org":3783,"tags":3784,"stars":24,"repoUrl":25,"updatedAt":3791},"ai-corechat-experience","ai-core\u002Fchat-experience","implement chat experiences with TanStack AI","End-to-end chat implementation: server endpoint with chat() and toServerSentEventsResponse(), client-side useChat hook with fetchServerSentEvents(), message rendering with UIMessage parts, multimodal content, thinking\u002Freasoning display. Covers streaming states, connection adapters, and message format conversions. NOT Vercel AI SDK — uses chat() not streamText().\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3785,3786,3789,3790],{"name":3773,"slug":3774,"type":16},{"name":3787,"slug":3788,"type":16},"Frontend","frontend",{"name":18,"slug":19,"type":16},{"name":10,"slug":9,"type":16},"2026-07-30T05:26:11.505241",{"slug":3793,"name":3794,"fn":3795,"description":3796,"org":3797,"tags":3798,"stars":24,"repoUrl":25,"updatedAt":3805},"ai-coreclient-persistence","ai-core\u002Fclient-persistence","implement browser chat persistence for TanStack AI","Browser chat persistence on useChat \u002F ChatClient: localStoragePersistence, sessionStoragePersistence, indexedDBPersistence. Client-authoritative (adapter, full transcript) vs server-authoritative (persistence: true, no client cache). Reload restore, pending interrupts, mid-stream rejoin with delivery durability. Use for SPA reload durability — NOT server history alone. No extra package: the adapters ship in the framework packages.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3799,3800,3801,3804],{"name":3747,"slug":30,"type":16},{"name":3787,"slug":3788,"type":16},{"name":3802,"slug":3803,"type":16},"Persistence","persistence",{"name":10,"slug":9,"type":16},"2026-07-30T05:53:35.503176",{"slug":3807,"name":3808,"fn":3809,"description":3810,"org":3811,"tags":3812,"stars":24,"repoUrl":25,"updatedAt":3819},"ai-corecustom-backend-integration","ai-core\u002Fcustom-backend-integration","integrate custom backends with TanStack AI","Connect useChat to a non-TanStack-AI backend through custom connection adapters. ConnectConnectionAdapter (single async iterable) vs SubscribeConnectionAdapter (separate subscribe\u002Fsend). Customize fetchServerSentEvents() and fetchHttpStream() with auth headers, custom URLs, and request options. Import from framework package, not @tanstack\u002Fai-client.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3813,3814,3815,3818],{"name":3747,"slug":30,"type":16},{"name":3773,"slug":3774,"type":16},{"name":3816,"slug":3817,"type":16},"Backend","backend",{"name":10,"slug":9,"type":16},"2026-07-17T06:06:39.855351",27,{"items":3822,"total":3960},[3823,3837,3847,3859,3874,3886,3896,3906,3919,3929,3940,3950],{"slug":3824,"name":3824,"fn":3825,"description":3826,"org":3827,"tags":3828,"stars":3834,"repoUrl":3835,"updatedAt":3836},"aggregation","perform data aggregation in TanStack Table","Aggregate TanStack Table columns independently of grouping, including grand totals, caller-selected row totals, multiple keyed aggregations, custom context-based definitions, grouped merges, manual values, and worker constraints.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3829,3832,3833],{"name":3830,"slug":3831,"type":16},"Data Analysis","data-analysis",{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-07-30T05:25:59.429787",{"slug":3838,"name":3838,"fn":3839,"description":3840,"org":3841,"tags":3842,"stars":3834,"repoUrl":3835,"updatedAt":3846},"api-not-found","diagnose TanStack Table API errors","Diagnose missing TanStack Table v9 exports, options, state slices, and instance methods. Load before inventing an API when code sees a type error, undefined feature method, absent object key, adapter mismatch, or v8-shaped example.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3843,3844,3845],{"name":22,"slug":23,"type":16},{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},"2026-07-30T05:26:05.418735",{"slug":3848,"name":3848,"fn":3849,"description":3850,"org":3851,"tags":3852,"stars":3834,"repoUrl":3835,"updatedAt":3858},"cell-selection","select rectangular cell ranges in tables","Select rectangular cell ranges with cellSelectionFeature: two-corner range state keyed by row and column id, mousedown\u002Fmouseenter handlers, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load when ranges widen unexpectedly after sorting or column reordering, when a drag re-renders the whole table, or when building copy-to-clipboard from a selection.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3853,3854,3855],{"name":3830,"slug":3831,"type":16},{"name":10,"slug":9,"type":16},{"name":3856,"slug":3857,"type":16},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":3860,"name":3860,"fn":3861,"description":3862,"org":3863,"tags":3864,"stars":3834,"repoUrl":3835,"updatedAt":3873},"client-vs-server","manage TanStack Table data pipelines","Choose client or server ownership for filtering, grouping, sorting, expanding, and pagination in TanStack Table v9. Load for manual* flags, mixed pipelines, server counts, or deciding which dataset each row-model stage receives.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3865,3868,3869,3872],{"name":3866,"slug":3867,"type":16},"Data Pipeline","data-pipeline",{"name":3787,"slug":3788,"type":16},{"name":3870,"slug":3871,"type":16},"Performance","performance",{"name":10,"slug":9,"type":16},"2026-07-30T05:25:45.400104",{"slug":3875,"name":3875,"fn":3876,"description":3877,"org":3878,"tags":3879,"stars":3834,"repoUrl":3835,"updatedAt":3885},"column-faceting","build faceted filter UIs","Build faceted filter UIs with columnFacetingFeature, facetedRowModel, facetedUniqueValues, and facetedMinMaxValues. Load for facet counts, numeric ranges, own-filter exclusion, or server-page facet completeness.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3880,3883,3884],{"name":3881,"slug":3882,"type":16},"Data Visualization","data-visualization",{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},"2026-07-30T05:25:41.397257",{"slug":3887,"name":3887,"fn":3888,"description":3889,"org":3890,"tags":3891,"stars":3834,"repoUrl":3835,"updatedAt":3895},"column-filtering","implement column filtering in TanStack Table","Filter columns with columnFilteringFeature, filteredRowModel, filterFns, filterMeta, nested-row direction, and manualFiltering. Load for accessor compatibility, controlled filter updaters, fuzzy metadata, or client\u002Fserver ownership.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3892,3893,3894],{"name":3830,"slug":3831,"type":16},{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},"2026-07-30T05:25:53.391632",{"slug":3897,"name":3897,"fn":3898,"description":3899,"org":3900,"tags":3901,"stars":3834,"repoUrl":3835,"updatedAt":3905},"column-ordering","manage TanStack Table column ordering","Control TanStack Table v9 leaf columnOrder with stable IDs while accounting for pinning regions, visibility, and groupedColumnMode precedence. Load for drag-and-drop columns or rendered order that differs from state.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3902,3903,3904],{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},{"name":3856,"slug":3857,"type":16},"2026-07-30T05:26:03.37801",{"slug":3907,"name":3907,"fn":3908,"description":3909,"org":3910,"tags":3911,"stars":3834,"repoUrl":3835,"updatedAt":3918},"column-pinning","configure column pinning in TanStack Table","Pin columns into logical start, center, and end regions with columnPinningFeature and renderer-owned sticky CSS. Load for RTL offsets, z-index, backgrounds, overflow, widths, gaps, or overlaps.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3912,3915,3916,3917],{"name":3913,"slug":3914,"type":16},"CSS","css",{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},{"name":3856,"slug":3857,"type":16},"2026-07-30T05:25:55.377366",{"slug":3920,"name":3920,"fn":3921,"description":3922,"org":3923,"tags":3924,"stars":3834,"repoUrl":3835,"updatedAt":3928},"column-resizing","implement column resizing in TanStack Table","Wire columnResizingFeature, header.getResizeHandler, resize mode and direction, pointer or touch events, and performant CSS-variable updates. Load when resize state changes but widths do not, or large tables resize slowly.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3925,3926,3927],{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},{"name":3856,"slug":3857,"type":16},"2026-07-30T05:25:51.400011",{"slug":3930,"name":3930,"fn":3931,"description":3932,"org":3933,"tags":3934,"stars":3834,"repoUrl":3835,"updatedAt":3939},"column-sizing","configure column sizing in TanStack Table","Use columnSizingFeature numeric size, minSize, maxSize, getSize, getStart, getAfter, and total-size APIs in table, grid, or flex CSS. Load for auto or percentage misconceptions and sizing\u002Fpinning layout mismatch.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3935,3936,3937,3938],{"name":3913,"slug":3914,"type":16},{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},{"name":3856,"slug":3857,"type":16},"2026-07-30T05:25:48.703799",{"slug":3941,"name":3941,"fn":3942,"description":3943,"org":3944,"tags":3945,"stars":3834,"repoUrl":3835,"updatedAt":3949},"column-visibility","manage column visibility in TanStack Table","Hide columns with columnVisibilityFeature while rendering visibility-aware header, column, and cell collections. Load when hidden columns remain in the DOM, false-versus-absent state is confused, or enableHiding is misunderstood.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3946,3947,3948],{"name":3787,"slug":3788,"type":16},{"name":10,"slug":9,"type":16},{"name":3856,"slug":3857,"type":16},"2026-07-30T05:25:47.367943",{"slug":3951,"name":3951,"fn":3952,"description":3953,"org":3954,"tags":3955,"stars":3834,"repoUrl":3835,"updatedAt":3959},"core","build data grids with TanStack Table","Use TanStack Table v9 as a headless data-grid state and row-processing engine. Load for first-table architecture, stable data and columns, row numbering with getDisplayIndex, semantic rendering, framework adapter choice, or deciding what Table owns versus the renderer.\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":10},[3956,3957,3958],{"name":3830,"slug":3831,"type":16},{"name":3787,"slug":3788,"type":16},{"name":3856,"slug":3857,"type":16},"2026-07-30T05:25:52.366295",125]