[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-json-render":3,"mdc-9msc2j-key":33,"related-org-openai-json-render":5775,"related-repo-openai-json-render":5978},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":31,"mdContent":32},"json-render","render structured AI chat responses","AI chat response rendering guidance — handling UIMessage parts, tool call displays, streaming states, and structured data presentation. Use when building custom chat UIs, rendering tool results, or troubleshooting AI response display issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19],{"name":13,"slug":14,"type":15},"UX Copy","ux-copy","tag",{"name":17,"slug":18,"type":15},"Frontend","frontend",{"name":20,"slug":21,"type":15},"Design","design",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-04-06T18:40:55.830119",null,465,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":30},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fvercel\u002Fskills\u002Fjson-render","---\nname: json-render\ndescription: AI chat response rendering guidance — handling UIMessage parts, tool call displays, streaming states, and structured data presentation. Use when building custom chat UIs, rendering tool results, or troubleshooting AI response display issues.\nmetadata:\n  priority: 4\n  docs:\n    - \"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Ffile-conventions\u002Froute\"\n  sitemap: \"https:\u002F\u002Fnextjs.org\u002Fsitemap.xml\"\n  pathPatterns:\n    - 'components\u002Fchat\u002F**'\n    - 'components\u002Fchat-*.tsx'\n    - 'components\u002Fchat-*.ts'\n    - 'src\u002Fcomponents\u002Fchat\u002F**'\n    - 'src\u002Fcomponents\u002Fchat-*.tsx'\n    - 'src\u002Fcomponents\u002Fchat-*.ts'\n    - 'components\u002Fmessage*.tsx'\n    - 'src\u002Fcomponents\u002Fmessage*.tsx'\n  bashPatterns: []\n---\n\n# AI Chat Response Rendering\n\nYou are an expert in rendering AI SDK v6 chat responses — UIMessage parts, tool call results, streaming states, and structured data display in React applications.\n\n## The Problem\n\nWhen building chat interfaces with AI SDK v6, the raw message format includes multiple part types (text, tool calls, reasoning, images). Without proper rendering, responses appear as raw JSON or malformed output.\n\n## AI SDK v6 Message Format\n\nIn v6, messages use the `UIMessage` type with a `parts` array:\n\n```ts\ninterface UIMessage {\n  id: string\n  role: 'user' | 'assistant'\n  parts: UIMessagePart[]\n}\n\n\u002F\u002F Part types:\n\u002F\u002F - { type: 'text', text: string }\n\u002F\u002F - { type: 'tool-\u003CtoolName>', toolCallId: string, state: string, input?: unknown, output?: unknown }\n\u002F\u002F     state values: 'partial-call' | 'call' | 'output-available' | 'approval-requested' | 'approval-responded' | 'output-denied'\n\u002F\u002F - { type: 'reasoning', text: string }\n\u002F\u002F - { type: 'step-start' }  \u002F\u002F internal, skip in rendering\n```\n\n## Recommended: Use AI Elements\n\nThe simplest approach is to use AI Elements, which handles all part types automatically:\n\n```tsx\nimport { Message } from '@\u002Fcomponents\u002Fai-elements\u002Fmessage'\nimport { Conversation } from '@\u002Fcomponents\u002Fai-elements\u002Fconversation'\n\n{messages.map((message) => (\n  \u003CMessage key={message.id} message={message} \u002F>\n))}\n```\n\n⤳ skill: ai-elements — Full component library for AI interfaces\n\n## Manual Rendering Pattern\n\nIf you need custom rendering without AI Elements, follow this pattern:\n\n```tsx\n'use client'\nimport { useChat } from '@ai-sdk\u002Freact'\nimport { DefaultChatTransport } from 'ai'\n\nexport function Chat() {\n  const { messages, sendMessage, status } = useChat({\n    transport: new DefaultChatTransport({ api: '\u002Fapi\u002Fchat' }),\n  })\n\n  const isLoading = status === 'streaming' || status === 'submitted'\n\n  return (\n    \u003Cdiv>\n      {messages.map((message) => (\n        \u003Cdiv key={message.id}>\n          {message.parts?.map((part, i) => {\n            \u002F\u002F 1. Text parts — render as formatted text\n            if (part.type === 'text' && part.text.trim()) {\n              return (\n                \u003Cdiv key={i} className={\n                  message.role === 'user'\n                    ? 'bg-primary text-primary-foreground rounded-lg px-3 py-2'\n                    : 'bg-muted rounded-lg px-3 py-2'\n                }>\n                  {part.text}\n                \u003C\u002Fdiv>\n              )\n            }\n\n            \u002F\u002F 2. Tool parts — type is \"tool-\u003CtoolName>\"\n            if (part.type.startsWith('tool-')) {\n              const toolPart = part as {\n                type: string\n                toolCallId: string\n                state: string\n                input?: unknown\n                output?: unknown\n              }\n              const toolName = toolPart.type.replace('tool-', '')\n\n              if (toolPart.state === 'output-available' && toolPart.output) {\n                return \u003CToolResultCard key={i} name={toolName} output={toolPart.output} \u002F>\n              }\n\n              if (toolPart.state === 'output-denied') {\n                return (\n                  \u003Cdiv key={i} className=\"text-sm text-muted-foreground\">\n                    {toolName} was denied\n                  \u003C\u002Fdiv>\n                )\n              }\n\n              if (toolPart.state === 'approval-requested') {\n                return (\n                  \u003Cdiv key={i} className=\"text-sm text-yellow-500\">\n                    {toolName} requires approval\n                  \u003C\u002Fdiv>\n                )\n              }\n\n              return (\n                \u003Cdiv key={i} className=\"text-sm text-muted-foreground animate-pulse\">\n                  Running {toolName}...\n                \u003C\u002Fdiv>\n              )\n            }\n\n            \u002F\u002F 3. Reasoning parts\n            if (part.type === 'reasoning') {\n              return (\n                \u003Cdetails key={i} className=\"text-xs text-muted-foreground\">\n                  \u003Csummary>Thinking...\u003C\u002Fsummary>\n                  \u003Cp className=\"whitespace-pre-wrap\">{(part as { text: string }).text}\u003C\u002Fp>\n                \u003C\u002Fdetails>\n              )\n            }\n\n            \u002F\u002F 4. Skip unknown types (step-start, etc.)\n            return null\n          })}\n        \u003C\u002Fdiv>\n      ))}\n    \u003C\u002Fdiv>\n  )\n}\n```\n\n## Rendering Tool Results as Cards\n\nInstead of dumping raw JSON, render structured tool output as human-readable cards:\n\n```tsx\nfunction ToolResultCard({ name, output }: { name: string; output: unknown }) {\n  const data = output as Record\u003Cstring, unknown>\n\n  \u002F\u002F Pattern: Check for known result shapes and render accordingly\n  if (data?.success && data?.issue) {\n    const issue = data.issue as { identifier?: string; title?: string }\n    return (\n      \u003Cdiv className=\"rounded border border-border bg-card p-2 text-sm\">\n        \u003Cspan className=\"font-medium text-green-400\">\n          {name === 'createIssue' ? 'Created' : 'Updated'} {issue.identifier}\n        \u003C\u002Fspan>\n        \u003Cp className=\"text-muted-foreground\">{issue.title}\u003C\u002Fp>\n      \u003C\u002Fdiv>\n    )\n  }\n\n  if (data?.items && Array.isArray(data.items)) {\n    return (\n      \u003Cdiv className=\"rounded border border-border bg-card p-2 text-sm\">\n        \u003Cp className=\"font-medium\">{data.items.length} results\u003C\u002Fp>\n        {data.items.slice(0, 5).map((item: Record\u003Cstring, unknown>, i: number) => (\n          \u003Cp key={i} className=\"text-muted-foreground\">{String(item.name || item.title || item.id)}\u003C\u002Fp>\n        ))}\n      \u003C\u002Fdiv>\n    )\n  }\n\n  if (data?.error) {\n    return (\n      \u003Cdiv className=\"rounded border border-destructive\u002F30 bg-destructive\u002F10 p-2 text-sm text-destructive\">\n        {String(data.error)}\n      \u003C\u002Fdiv>\n    )\n  }\n\n  \u002F\u002F Fallback: simple completion message (not raw JSON)\n  return (\n    \u003Cdiv className=\"rounded border border-border bg-card p-2 text-xs text-muted-foreground\">\n      {name} completed\n    \u003C\u002Fdiv>\n  )\n}\n```\n\n## Server-Side Requirements\n\nThe server route must use the correct v6 response format:\n\n```ts\n\u002F\u002F app\u002Fapi\u002Fchat\u002Froute.ts\nimport { streamText, convertToModelMessages, gateway } from 'ai'\n\nexport async function POST(req: Request) {\n  const { messages } = await req.json()\n\n  \u002F\u002F IMPORTANT: convertToModelMessages is async in v6\n  const modelMessages = await convertToModelMessages(messages)\n\n  const result = streamText({\n    model: gateway('anthropic\u002Fclaude-sonnet-4.6'),\n    messages: modelMessages,\n  })\n\n  \u002F\u002F Use toUIMessageStreamResponse for chat UIs (not toDataStreamResponse)\n  return result.toUIMessageStreamResponse()\n}\n```\n\n## Client-Side Requirements\n\n```tsx\nimport { useChat } from '@ai-sdk\u002Freact'\nimport { DefaultChatTransport } from 'ai'\n\nconst { messages, sendMessage, status } = useChat({\n  \u002F\u002F v6 uses transport instead of api\n  transport: new DefaultChatTransport({ api: '\u002Fapi\u002Fchat' }),\n})\n\n\u002F\u002F v6 uses sendMessage instead of handleSubmit\nsendMessage({ text: inputValue })\n\n\u002F\u002F Status values: 'ready' | 'submitted' | 'streaming'\nconst isLoading = status === 'streaming' || status === 'submitted'\n```\n\n## Common Mistakes\n\n### 1. Raw JSON in chat responses\n\n**Cause**: Rendering `message.content` instead of iterating `message.parts`.\n\n**Fix**: Always iterate `message.parts` and handle each type:\n\n```tsx\n\u002F\u002F WRONG — shows raw JSON\n\u003Cdiv>{message.content}\u003C\u002Fdiv>\n\n\u002F\u002F RIGHT — renders each part type\n{message.parts?.map((part, i) => {\n  if (part.type === 'text') return \u003Cspan key={i}>{part.text}\u003C\u002Fspan>\n  \u002F\u002F ... handle other types\n})}\n```\n\n### 2. Tool results showing as JSON blobs\n\n**Cause**: Using `JSON.stringify(output)` as the display.\n\n**Fix**: Create structured card components for known tool output shapes.\n\n### 3. \"Invalid prompt: messages do not contain...\" error\n\n**Cause**: Not converting UI messages to model messages on the server.\n\n**Fix**: Use `await convertToModelMessages(messages)` — it's async in v6.\n\n### 4. Messages not appearing \u002F empty responses\n\n**Cause**: Using `toDataStreamResponse()` instead of `toUIMessageStreamResponse()`.\n\n**Fix**: Use `toUIMessageStreamResponse()` when the client uses `useChat` with `DefaultChatTransport`.\n\n### 5. useChat not working with v6\n\n**Cause**: Using the v5 `useChat({ api: '\u002Fapi\u002Fchat' })` pattern.\n\n**Fix**: Use `DefaultChatTransport`:\n\n```tsx\n\u002F\u002F v5 (old)\nconst { messages, handleSubmit, input } = useChat({ api: '\u002Fapi\u002Fchat' })\n\n\u002F\u002F v6 (current)\nconst { messages, sendMessage, status } = useChat({\n  transport: new DefaultChatTransport({ api: '\u002Fapi\u002Fchat' }),\n})\n```\n\n## Decision Tree\n\n```\nBuilding a chat UI with AI SDK v6?\n  └─ Want pre-built components?\n       └─ Yes → Use AI Elements (⤳ skill: ai-elements)\n       └─ No → Manual rendering with parts iteration\n            └─ Tool results look like JSON?\n                 └─ Create ToolResultCard components for each tool's output shape\n            └─ Text not rendering?\n                 └─ Check part.type === 'text' and use part.text\n            └─ Server errors?\n                 └─ Check: await convertToModelMessages(), toUIMessageStreamResponse()\n```\n\n## Server-Side Message Validation\n\nUse `validateUIMessages` to validate incoming messages before processing:\n\n```ts\nimport { validateUIMessages, convertToModelMessages, streamText, gateway } from 'ai'\n\nexport async function POST(req: Request) {\n  const { messages } = await req.json()\n  const validatedMessages = validateUIMessages(messages)\n  const modelMessages = await convertToModelMessages(validatedMessages)\n  \u002F\u002F ...\n}\n```\n\n## Official Documentation\n\n- [AI SDK UI](https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui)\n- [useChat Reference](https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui\u002Fchatbot)\n- [UIMessage Types](https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Freference\u002Fai-sdk-core\u002Fui-message)\n- [AI Elements](https:\u002F\u002Fai-sdk.dev\u002Felements)\n",{"data":34,"body":50},{"name":4,"description":6,"metadata":35},{"priority":36,"docs":37,"sitemap":39,"pathPatterns":40,"bashPatterns":49},4,[38],"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Ffile-conventions\u002Froute","https:\u002F\u002Fnextjs.org\u002Fsitemap.xml",[41,42,43,44,45,46,47,48],"components\u002Fchat\u002F**","components\u002Fchat-*.tsx","components\u002Fchat-*.ts","src\u002Fcomponents\u002Fchat\u002F**","src\u002Fcomponents\u002Fchat-*.tsx","src\u002Fcomponents\u002Fchat-*.ts","components\u002Fmessage*.tsx","src\u002Fcomponents\u002Fmessage*.tsx",[],{"type":51,"children":52},"root",[53,62,68,75,80,86,108,313,319,324,543,548,554,559,2699,2705,2710,4007,4013,4018,4392,4398,4741,4747,4754,4780,4797,5046,5052,5069,5078,5084,5093,5110,5116,5139,5169,5175,5192,5206,5438,5444,5454,5460,5473,5716,5722,5769],{"type":54,"tag":55,"props":56,"children":58},"element","h1",{"id":57},"ai-chat-response-rendering",[59],{"type":60,"value":61},"text","AI Chat Response Rendering",{"type":54,"tag":63,"props":64,"children":65},"p",{},[66],{"type":60,"value":67},"You are an expert in rendering AI SDK v6 chat responses — UIMessage parts, tool call results, streaming states, and structured data display in React applications.",{"type":54,"tag":69,"props":70,"children":72},"h2",{"id":71},"the-problem",[73],{"type":60,"value":74},"The Problem",{"type":54,"tag":63,"props":76,"children":77},{},[78],{"type":60,"value":79},"When building chat interfaces with AI SDK v6, the raw message format includes multiple part types (text, tool calls, reasoning, images). Without proper rendering, responses appear as raw JSON or malformed output.",{"type":54,"tag":69,"props":81,"children":83},{"id":82},"ai-sdk-v6-message-format",[84],{"type":60,"value":85},"AI SDK v6 Message Format",{"type":54,"tag":63,"props":87,"children":88},{},[89,91,98,100,106],{"type":60,"value":90},"In v6, messages use the ",{"type":54,"tag":92,"props":93,"children":95},"code",{"className":94},[],[96],{"type":60,"value":97},"UIMessage",{"type":60,"value":99}," type with a ",{"type":54,"tag":92,"props":101,"children":103},{"className":102},[],[104],{"type":60,"value":105},"parts",{"type":60,"value":107}," array:",{"type":54,"tag":109,"props":110,"children":115},"pre",{"className":111,"code":112,"language":113,"meta":114,"style":114},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","interface UIMessage {\n  id: string\n  role: 'user' | 'assistant'\n  parts: UIMessagePart[]\n}\n\n\u002F\u002F Part types:\n\u002F\u002F - { type: 'text', text: string }\n\u002F\u002F - { type: 'tool-\u003CtoolName>', toolCallId: string, state: string, input?: unknown, output?: unknown }\n\u002F\u002F     state values: 'partial-call' | 'call' | 'output-available' | 'approval-requested' | 'approval-responded' | 'output-denied'\n\u002F\u002F - { type: 'reasoning', text: string }\n\u002F\u002F - { type: 'step-start' }  \u002F\u002F internal, skip in rendering\n","ts","",[116],{"type":54,"tag":92,"props":117,"children":118},{"__ignoreMap":114},[119,143,163,211,234,243,253,263,272,281,290,299],{"type":54,"tag":120,"props":121,"children":124},"span",{"class":122,"line":123},"line",1,[125,131,137],{"type":54,"tag":120,"props":126,"children":128},{"style":127},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[129],{"type":60,"value":130},"interface",{"type":54,"tag":120,"props":132,"children":134},{"style":133},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[135],{"type":60,"value":136}," UIMessage",{"type":54,"tag":120,"props":138,"children":140},{"style":139},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[141],{"type":60,"value":142}," {\n",{"type":54,"tag":120,"props":144,"children":146},{"class":122,"line":145},2,[147,153,158],{"type":54,"tag":120,"props":148,"children":150},{"style":149},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[151],{"type":60,"value":152},"  id",{"type":54,"tag":120,"props":154,"children":155},{"style":139},[156],{"type":60,"value":157},":",{"type":54,"tag":120,"props":159,"children":160},{"style":133},[161],{"type":60,"value":162}," string\n",{"type":54,"tag":120,"props":164,"children":166},{"class":122,"line":165},3,[167,172,176,181,187,192,197,201,206],{"type":54,"tag":120,"props":168,"children":169},{"style":149},[170],{"type":60,"value":171},"  role",{"type":54,"tag":120,"props":173,"children":174},{"style":139},[175],{"type":60,"value":157},{"type":54,"tag":120,"props":177,"children":178},{"style":139},[179],{"type":60,"value":180}," '",{"type":54,"tag":120,"props":182,"children":184},{"style":183},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[185],{"type":60,"value":186},"user",{"type":54,"tag":120,"props":188,"children":189},{"style":139},[190],{"type":60,"value":191},"'",{"type":54,"tag":120,"props":193,"children":194},{"style":139},[195],{"type":60,"value":196}," |",{"type":54,"tag":120,"props":198,"children":199},{"style":139},[200],{"type":60,"value":180},{"type":54,"tag":120,"props":202,"children":203},{"style":183},[204],{"type":60,"value":205},"assistant",{"type":54,"tag":120,"props":207,"children":208},{"style":139},[209],{"type":60,"value":210},"'\n",{"type":54,"tag":120,"props":212,"children":213},{"class":122,"line":36},[214,219,223,228],{"type":54,"tag":120,"props":215,"children":216},{"style":149},[217],{"type":60,"value":218},"  parts",{"type":54,"tag":120,"props":220,"children":221},{"style":139},[222],{"type":60,"value":157},{"type":54,"tag":120,"props":224,"children":225},{"style":133},[226],{"type":60,"value":227}," UIMessagePart",{"type":54,"tag":120,"props":229,"children":231},{"style":230},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[232],{"type":60,"value":233},"[]\n",{"type":54,"tag":120,"props":235,"children":237},{"class":122,"line":236},5,[238],{"type":54,"tag":120,"props":239,"children":240},{"style":139},[241],{"type":60,"value":242},"}\n",{"type":54,"tag":120,"props":244,"children":246},{"class":122,"line":245},6,[247],{"type":54,"tag":120,"props":248,"children":250},{"emptyLinePlaceholder":249},true,[251],{"type":60,"value":252},"\n",{"type":54,"tag":120,"props":254,"children":256},{"class":122,"line":255},7,[257],{"type":54,"tag":120,"props":258,"children":260},{"style":259},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[261],{"type":60,"value":262},"\u002F\u002F Part types:\n",{"type":54,"tag":120,"props":264,"children":266},{"class":122,"line":265},8,[267],{"type":54,"tag":120,"props":268,"children":269},{"style":259},[270],{"type":60,"value":271},"\u002F\u002F - { type: 'text', text: string }\n",{"type":54,"tag":120,"props":273,"children":275},{"class":122,"line":274},9,[276],{"type":54,"tag":120,"props":277,"children":278},{"style":259},[279],{"type":60,"value":280},"\u002F\u002F - { type: 'tool-\u003CtoolName>', toolCallId: string, state: string, input?: unknown, output?: unknown }\n",{"type":54,"tag":120,"props":282,"children":284},{"class":122,"line":283},10,[285],{"type":54,"tag":120,"props":286,"children":287},{"style":259},[288],{"type":60,"value":289},"\u002F\u002F     state values: 'partial-call' | 'call' | 'output-available' | 'approval-requested' | 'approval-responded' | 'output-denied'\n",{"type":54,"tag":120,"props":291,"children":293},{"class":122,"line":292},11,[294],{"type":54,"tag":120,"props":295,"children":296},{"style":259},[297],{"type":60,"value":298},"\u002F\u002F - { type: 'reasoning', text: string }\n",{"type":54,"tag":120,"props":300,"children":302},{"class":122,"line":301},12,[303,308],{"type":54,"tag":120,"props":304,"children":305},{"style":259},[306],{"type":60,"value":307},"\u002F\u002F - { type: 'step-start' }",{"type":54,"tag":120,"props":309,"children":310},{"style":259},[311],{"type":60,"value":312},"  \u002F\u002F internal, skip in rendering\n",{"type":54,"tag":69,"props":314,"children":316},{"id":315},"recommended-use-ai-elements",[317],{"type":60,"value":318},"Recommended: Use AI Elements",{"type":54,"tag":63,"props":320,"children":321},{},[322],{"type":60,"value":323},"The simplest approach is to use AI Elements, which handles all part types automatically:",{"type":54,"tag":109,"props":325,"children":329},{"className":326,"code":327,"language":328,"meta":114,"style":114},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Message } from '@\u002Fcomponents\u002Fai-elements\u002Fmessage'\nimport { Conversation } from '@\u002Fcomponents\u002Fai-elements\u002Fconversation'\n\n{messages.map((message) => (\n  \u003CMessage key={message.id} message={message} \u002F>\n))}\n","tsx",[330],{"type":54,"tag":92,"props":331,"children":332},{"__ignoreMap":114},[333,375,412,419,473,531],{"type":54,"tag":120,"props":334,"children":335},{"class":122,"line":123},[336,342,347,352,357,362,366,371],{"type":54,"tag":120,"props":337,"children":339},{"style":338},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[340],{"type":60,"value":341},"import",{"type":54,"tag":120,"props":343,"children":344},{"style":139},[345],{"type":60,"value":346}," {",{"type":54,"tag":120,"props":348,"children":349},{"style":230},[350],{"type":60,"value":351}," Message",{"type":54,"tag":120,"props":353,"children":354},{"style":139},[355],{"type":60,"value":356}," }",{"type":54,"tag":120,"props":358,"children":359},{"style":338},[360],{"type":60,"value":361}," from",{"type":54,"tag":120,"props":363,"children":364},{"style":139},[365],{"type":60,"value":180},{"type":54,"tag":120,"props":367,"children":368},{"style":183},[369],{"type":60,"value":370},"@\u002Fcomponents\u002Fai-elements\u002Fmessage",{"type":54,"tag":120,"props":372,"children":373},{"style":139},[374],{"type":60,"value":210},{"type":54,"tag":120,"props":376,"children":377},{"class":122,"line":145},[378,382,386,391,395,399,403,408],{"type":54,"tag":120,"props":379,"children":380},{"style":338},[381],{"type":60,"value":341},{"type":54,"tag":120,"props":383,"children":384},{"style":139},[385],{"type":60,"value":346},{"type":54,"tag":120,"props":387,"children":388},{"style":230},[389],{"type":60,"value":390}," Conversation",{"type":54,"tag":120,"props":392,"children":393},{"style":139},[394],{"type":60,"value":356},{"type":54,"tag":120,"props":396,"children":397},{"style":338},[398],{"type":60,"value":361},{"type":54,"tag":120,"props":400,"children":401},{"style":139},[402],{"type":60,"value":180},{"type":54,"tag":120,"props":404,"children":405},{"style":183},[406],{"type":60,"value":407},"@\u002Fcomponents\u002Fai-elements\u002Fconversation",{"type":54,"tag":120,"props":409,"children":410},{"style":139},[411],{"type":60,"value":210},{"type":54,"tag":120,"props":413,"children":414},{"class":122,"line":165},[415],{"type":54,"tag":120,"props":416,"children":417},{"emptyLinePlaceholder":249},[418],{"type":60,"value":252},{"type":54,"tag":120,"props":420,"children":421},{"class":122,"line":36},[422,427,432,437,443,448,452,458,463,468],{"type":54,"tag":120,"props":423,"children":424},{"style":139},[425],{"type":60,"value":426},"{",{"type":54,"tag":120,"props":428,"children":429},{"style":230},[430],{"type":60,"value":431},"messages",{"type":54,"tag":120,"props":433,"children":434},{"style":139},[435],{"type":60,"value":436},".",{"type":54,"tag":120,"props":438,"children":440},{"style":439},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[441],{"type":60,"value":442},"map",{"type":54,"tag":120,"props":444,"children":445},{"style":149},[446],{"type":60,"value":447},"(",{"type":54,"tag":120,"props":449,"children":450},{"style":139},[451],{"type":60,"value":447},{"type":54,"tag":120,"props":453,"children":455},{"style":454},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[456],{"type":60,"value":457},"message",{"type":54,"tag":120,"props":459,"children":460},{"style":139},[461],{"type":60,"value":462},")",{"type":54,"tag":120,"props":464,"children":465},{"style":127},[466],{"type":60,"value":467}," =>",{"type":54,"tag":120,"props":469,"children":470},{"style":149},[471],{"type":60,"value":472}," (\n",{"type":54,"tag":120,"props":474,"children":475},{"class":122,"line":236},[476,481,486,491,496,500,504,509,514,518,522,526],{"type":54,"tag":120,"props":477,"children":478},{"style":139},[479],{"type":60,"value":480},"  \u003C",{"type":54,"tag":120,"props":482,"children":483},{"style":133},[484],{"type":60,"value":485},"Message",{"type":54,"tag":120,"props":487,"children":488},{"style":127},[489],{"type":60,"value":490}," key",{"type":54,"tag":120,"props":492,"children":493},{"style":139},[494],{"type":60,"value":495},"={",{"type":54,"tag":120,"props":497,"children":498},{"style":230},[499],{"type":60,"value":457},{"type":54,"tag":120,"props":501,"children":502},{"style":139},[503],{"type":60,"value":436},{"type":54,"tag":120,"props":505,"children":506},{"style":230},[507],{"type":60,"value":508},"id",{"type":54,"tag":120,"props":510,"children":511},{"style":139},[512],{"type":60,"value":513},"} ",{"type":54,"tag":120,"props":515,"children":516},{"style":127},[517],{"type":60,"value":457},{"type":54,"tag":120,"props":519,"children":520},{"style":139},[521],{"type":60,"value":495},{"type":54,"tag":120,"props":523,"children":524},{"style":230},[525],{"type":60,"value":457},{"type":54,"tag":120,"props":527,"children":528},{"style":139},[529],{"type":60,"value":530},"} \u002F>\n",{"type":54,"tag":120,"props":532,"children":533},{"class":122,"line":245},[534,539],{"type":54,"tag":120,"props":535,"children":536},{"style":149},[537],{"type":60,"value":538},"))",{"type":54,"tag":120,"props":540,"children":541},{"style":139},[542],{"type":60,"value":242},{"type":54,"tag":63,"props":544,"children":545},{},[546],{"type":60,"value":547},"⤳ skill: ai-elements — Full component library for AI interfaces",{"type":54,"tag":69,"props":549,"children":551},{"id":550},"manual-rendering-pattern",[552],{"type":60,"value":553},"Manual Rendering Pattern",{"type":54,"tag":63,"props":555,"children":556},{},[557],{"type":60,"value":558},"If you need custom rendering without AI Elements, follow this pattern:",{"type":54,"tag":109,"props":560,"children":562},{"className":326,"code":561,"language":328,"meta":114,"style":114},"'use client'\nimport { useChat } from '@ai-sdk\u002Freact'\nimport { DefaultChatTransport } from 'ai'\n\nexport function Chat() {\n  const { messages, sendMessage, status } = useChat({\n    transport: new DefaultChatTransport({ api: '\u002Fapi\u002Fchat' }),\n  })\n\n  const isLoading = status === 'streaming' || status === 'submitted'\n\n  return (\n    \u003Cdiv>\n      {messages.map((message) => (\n        \u003Cdiv key={message.id}>\n          {message.parts?.map((part, i) => {\n            \u002F\u002F 1. Text parts — render as formatted text\n            if (part.type === 'text' && part.text.trim()) {\n              return (\n                \u003Cdiv key={i} className={\n                  message.role === 'user'\n                    ? 'bg-primary text-primary-foreground rounded-lg px-3 py-2'\n                    : 'bg-muted rounded-lg px-3 py-2'\n                }>\n                  {part.text}\n                \u003C\u002Fdiv>\n              )\n            }\n\n            \u002F\u002F 2. Tool parts — type is \"tool-\u003CtoolName>\"\n            if (part.type.startsWith('tool-')) {\n              const toolPart = part as {\n                type: string\n                toolCallId: string\n                state: string\n                input?: unknown\n                output?: unknown\n              }\n              const toolName = toolPart.type.replace('tool-', '')\n\n              if (toolPart.state === 'output-available' && toolPart.output) {\n                return \u003CToolResultCard key={i} name={toolName} output={toolPart.output} \u002F>\n              }\n\n              if (toolPart.state === 'output-denied') {\n                return (\n                  \u003Cdiv key={i} className=\"text-sm text-muted-foreground\">\n                    {toolName} was denied\n                  \u003C\u002Fdiv>\n                )\n              }\n\n              if (toolPart.state === 'approval-requested') {\n                return (\n                  \u003Cdiv key={i} className=\"text-sm text-yellow-500\">\n                    {toolName} requires approval\n                  \u003C\u002Fdiv>\n                )\n              }\n\n              return (\n                \u003Cdiv key={i} className=\"text-sm text-muted-foreground animate-pulse\">\n                  Running {toolName}...\n                \u003C\u002Fdiv>\n              )\n            }\n\n            \u002F\u002F 3. Reasoning parts\n            if (part.type === 'reasoning') {\n              return (\n                \u003Cdetails key={i} className=\"text-xs text-muted-foreground\">\n                  \u003Csummary>Thinking...\u003C\u002Fsummary>\n                  \u003Cp className=\"whitespace-pre-wrap\">{(part as { text: string }).text}\u003C\u002Fp>\n                \u003C\u002Fdetails>\n              )\n            }\n\n            \u002F\u002F 4. Skip unknown types (step-start, etc.)\n            return null\n          })}\n        \u003C\u002Fdiv>\n      ))}\n    \u003C\u002Fdiv>\n  )\n}\n",[563],{"type":54,"tag":92,"props":564,"children":565},{"__ignoreMap":114},[566,582,619,656,663,690,748,812,825,832,896,903,915,934,979,1017,1081,1090,1169,1182,1222,1257,1279,1301,1310,1335,1352,1361,1370,1378,1387,1446,1477,1494,1511,1528,1547,1564,1573,1640,1648,1718,1795,1803,1811,1860,1872,1928,1951,1968,1977,1985,1993,2042,2054,2107,2128,2144,2152,2160,2168,2180,2233,2259,2275,2283,2291,2299,2308,2357,2369,2423,2459,2555,2571,2579,2587,2595,2604,2618,2635,2652,2665,2682,2691],{"type":54,"tag":120,"props":567,"children":568},{"class":122,"line":123},[569,573,578],{"type":54,"tag":120,"props":570,"children":571},{"style":139},[572],{"type":60,"value":191},{"type":54,"tag":120,"props":574,"children":575},{"style":183},[576],{"type":60,"value":577},"use client",{"type":54,"tag":120,"props":579,"children":580},{"style":139},[581],{"type":60,"value":210},{"type":54,"tag":120,"props":583,"children":584},{"class":122,"line":145},[585,589,593,598,602,606,610,615],{"type":54,"tag":120,"props":586,"children":587},{"style":338},[588],{"type":60,"value":341},{"type":54,"tag":120,"props":590,"children":591},{"style":139},[592],{"type":60,"value":346},{"type":54,"tag":120,"props":594,"children":595},{"style":230},[596],{"type":60,"value":597}," useChat",{"type":54,"tag":120,"props":599,"children":600},{"style":139},[601],{"type":60,"value":356},{"type":54,"tag":120,"props":603,"children":604},{"style":338},[605],{"type":60,"value":361},{"type":54,"tag":120,"props":607,"children":608},{"style":139},[609],{"type":60,"value":180},{"type":54,"tag":120,"props":611,"children":612},{"style":183},[613],{"type":60,"value":614},"@ai-sdk\u002Freact",{"type":54,"tag":120,"props":616,"children":617},{"style":139},[618],{"type":60,"value":210},{"type":54,"tag":120,"props":620,"children":621},{"class":122,"line":165},[622,626,630,635,639,643,647,652],{"type":54,"tag":120,"props":623,"children":624},{"style":338},[625],{"type":60,"value":341},{"type":54,"tag":120,"props":627,"children":628},{"style":139},[629],{"type":60,"value":346},{"type":54,"tag":120,"props":631,"children":632},{"style":230},[633],{"type":60,"value":634}," DefaultChatTransport",{"type":54,"tag":120,"props":636,"children":637},{"style":139},[638],{"type":60,"value":356},{"type":54,"tag":120,"props":640,"children":641},{"style":338},[642],{"type":60,"value":361},{"type":54,"tag":120,"props":644,"children":645},{"style":139},[646],{"type":60,"value":180},{"type":54,"tag":120,"props":648,"children":649},{"style":183},[650],{"type":60,"value":651},"ai",{"type":54,"tag":120,"props":653,"children":654},{"style":139},[655],{"type":60,"value":210},{"type":54,"tag":120,"props":657,"children":658},{"class":122,"line":36},[659],{"type":54,"tag":120,"props":660,"children":661},{"emptyLinePlaceholder":249},[662],{"type":60,"value":252},{"type":54,"tag":120,"props":664,"children":665},{"class":122,"line":236},[666,671,676,681,686],{"type":54,"tag":120,"props":667,"children":668},{"style":338},[669],{"type":60,"value":670},"export",{"type":54,"tag":120,"props":672,"children":673},{"style":127},[674],{"type":60,"value":675}," function",{"type":54,"tag":120,"props":677,"children":678},{"style":439},[679],{"type":60,"value":680}," Chat",{"type":54,"tag":120,"props":682,"children":683},{"style":139},[684],{"type":60,"value":685},"()",{"type":54,"tag":120,"props":687,"children":688},{"style":139},[689],{"type":60,"value":142},{"type":54,"tag":120,"props":691,"children":692},{"class":122,"line":245},[693,698,702,707,712,717,721,726,730,735,739,743],{"type":54,"tag":120,"props":694,"children":695},{"style":127},[696],{"type":60,"value":697},"  const",{"type":54,"tag":120,"props":699,"children":700},{"style":139},[701],{"type":60,"value":346},{"type":54,"tag":120,"props":703,"children":704},{"style":230},[705],{"type":60,"value":706}," messages",{"type":54,"tag":120,"props":708,"children":709},{"style":139},[710],{"type":60,"value":711},",",{"type":54,"tag":120,"props":713,"children":714},{"style":230},[715],{"type":60,"value":716}," sendMessage",{"type":54,"tag":120,"props":718,"children":719},{"style":139},[720],{"type":60,"value":711},{"type":54,"tag":120,"props":722,"children":723},{"style":230},[724],{"type":60,"value":725}," status",{"type":54,"tag":120,"props":727,"children":728},{"style":139},[729],{"type":60,"value":356},{"type":54,"tag":120,"props":731,"children":732},{"style":139},[733],{"type":60,"value":734}," =",{"type":54,"tag":120,"props":736,"children":737},{"style":439},[738],{"type":60,"value":597},{"type":54,"tag":120,"props":740,"children":741},{"style":149},[742],{"type":60,"value":447},{"type":54,"tag":120,"props":744,"children":745},{"style":139},[746],{"type":60,"value":747},"{\n",{"type":54,"tag":120,"props":749,"children":750},{"class":122,"line":255},[751,756,760,765,769,773,777,782,786,790,795,799,803,807],{"type":54,"tag":120,"props":752,"children":753},{"style":149},[754],{"type":60,"value":755},"    transport",{"type":54,"tag":120,"props":757,"children":758},{"style":139},[759],{"type":60,"value":157},{"type":54,"tag":120,"props":761,"children":762},{"style":139},[763],{"type":60,"value":764}," new",{"type":54,"tag":120,"props":766,"children":767},{"style":439},[768],{"type":60,"value":634},{"type":54,"tag":120,"props":770,"children":771},{"style":149},[772],{"type":60,"value":447},{"type":54,"tag":120,"props":774,"children":775},{"style":139},[776],{"type":60,"value":426},{"type":54,"tag":120,"props":778,"children":779},{"style":149},[780],{"type":60,"value":781}," api",{"type":54,"tag":120,"props":783,"children":784},{"style":139},[785],{"type":60,"value":157},{"type":54,"tag":120,"props":787,"children":788},{"style":139},[789],{"type":60,"value":180},{"type":54,"tag":120,"props":791,"children":792},{"style":183},[793],{"type":60,"value":794},"\u002Fapi\u002Fchat",{"type":54,"tag":120,"props":796,"children":797},{"style":139},[798],{"type":60,"value":191},{"type":54,"tag":120,"props":800,"children":801},{"style":139},[802],{"type":60,"value":356},{"type":54,"tag":120,"props":804,"children":805},{"style":149},[806],{"type":60,"value":462},{"type":54,"tag":120,"props":808,"children":809},{"style":139},[810],{"type":60,"value":811},",\n",{"type":54,"tag":120,"props":813,"children":814},{"class":122,"line":265},[815,820],{"type":54,"tag":120,"props":816,"children":817},{"style":139},[818],{"type":60,"value":819},"  }",{"type":54,"tag":120,"props":821,"children":822},{"style":149},[823],{"type":60,"value":824},")\n",{"type":54,"tag":120,"props":826,"children":827},{"class":122,"line":274},[828],{"type":54,"tag":120,"props":829,"children":830},{"emptyLinePlaceholder":249},[831],{"type":60,"value":252},{"type":54,"tag":120,"props":833,"children":834},{"class":122,"line":283},[835,839,844,848,852,857,861,866,870,875,879,883,887,892],{"type":54,"tag":120,"props":836,"children":837},{"style":127},[838],{"type":60,"value":697},{"type":54,"tag":120,"props":840,"children":841},{"style":230},[842],{"type":60,"value":843}," isLoading",{"type":54,"tag":120,"props":845,"children":846},{"style":139},[847],{"type":60,"value":734},{"type":54,"tag":120,"props":849,"children":850},{"style":230},[851],{"type":60,"value":725},{"type":54,"tag":120,"props":853,"children":854},{"style":139},[855],{"type":60,"value":856}," ===",{"type":54,"tag":120,"props":858,"children":859},{"style":139},[860],{"type":60,"value":180},{"type":54,"tag":120,"props":862,"children":863},{"style":183},[864],{"type":60,"value":865},"streaming",{"type":54,"tag":120,"props":867,"children":868},{"style":139},[869],{"type":60,"value":191},{"type":54,"tag":120,"props":871,"children":872},{"style":139},[873],{"type":60,"value":874}," ||",{"type":54,"tag":120,"props":876,"children":877},{"style":230},[878],{"type":60,"value":725},{"type":54,"tag":120,"props":880,"children":881},{"style":139},[882],{"type":60,"value":856},{"type":54,"tag":120,"props":884,"children":885},{"style":139},[886],{"type":60,"value":180},{"type":54,"tag":120,"props":888,"children":889},{"style":183},[890],{"type":60,"value":891},"submitted",{"type":54,"tag":120,"props":893,"children":894},{"style":139},[895],{"type":60,"value":210},{"type":54,"tag":120,"props":897,"children":898},{"class":122,"line":292},[899],{"type":54,"tag":120,"props":900,"children":901},{"emptyLinePlaceholder":249},[902],{"type":60,"value":252},{"type":54,"tag":120,"props":904,"children":905},{"class":122,"line":301},[906,911],{"type":54,"tag":120,"props":907,"children":908},{"style":338},[909],{"type":60,"value":910},"  return",{"type":54,"tag":120,"props":912,"children":913},{"style":149},[914],{"type":60,"value":472},{"type":54,"tag":120,"props":916,"children":918},{"class":122,"line":917},13,[919,924,929],{"type":54,"tag":120,"props":920,"children":921},{"style":139},[922],{"type":60,"value":923},"    \u003C",{"type":54,"tag":120,"props":925,"children":926},{"style":149},[927],{"type":60,"value":928},"div",{"type":54,"tag":120,"props":930,"children":931},{"style":139},[932],{"type":60,"value":933},">\n",{"type":54,"tag":120,"props":935,"children":937},{"class":122,"line":936},14,[938,943,947,951,955,959,963,967,971,975],{"type":54,"tag":120,"props":939,"children":940},{"style":139},[941],{"type":60,"value":942},"      {",{"type":54,"tag":120,"props":944,"children":945},{"style":230},[946],{"type":60,"value":431},{"type":54,"tag":120,"props":948,"children":949},{"style":139},[950],{"type":60,"value":436},{"type":54,"tag":120,"props":952,"children":953},{"style":439},[954],{"type":60,"value":442},{"type":54,"tag":120,"props":956,"children":957},{"style":230},[958],{"type":60,"value":447},{"type":54,"tag":120,"props":960,"children":961},{"style":139},[962],{"type":60,"value":447},{"type":54,"tag":120,"props":964,"children":965},{"style":454},[966],{"type":60,"value":457},{"type":54,"tag":120,"props":968,"children":969},{"style":139},[970],{"type":60,"value":462},{"type":54,"tag":120,"props":972,"children":973},{"style":127},[974],{"type":60,"value":467},{"type":54,"tag":120,"props":976,"children":977},{"style":230},[978],{"type":60,"value":472},{"type":54,"tag":120,"props":980,"children":982},{"class":122,"line":981},15,[983,988,992,996,1000,1004,1008,1012],{"type":54,"tag":120,"props":984,"children":985},{"style":139},[986],{"type":60,"value":987},"        \u003C",{"type":54,"tag":120,"props":989,"children":990},{"style":149},[991],{"type":60,"value":928},{"type":54,"tag":120,"props":993,"children":994},{"style":127},[995],{"type":60,"value":490},{"type":54,"tag":120,"props":997,"children":998},{"style":139},[999],{"type":60,"value":495},{"type":54,"tag":120,"props":1001,"children":1002},{"style":230},[1003],{"type":60,"value":457},{"type":54,"tag":120,"props":1005,"children":1006},{"style":139},[1007],{"type":60,"value":436},{"type":54,"tag":120,"props":1009,"children":1010},{"style":230},[1011],{"type":60,"value":508},{"type":54,"tag":120,"props":1013,"children":1014},{"style":139},[1015],{"type":60,"value":1016},"}>\n",{"type":54,"tag":120,"props":1018,"children":1020},{"class":122,"line":1019},16,[1021,1026,1030,1034,1038,1043,1047,1051,1055,1060,1064,1069,1073,1077],{"type":54,"tag":120,"props":1022,"children":1023},{"style":139},[1024],{"type":60,"value":1025},"          {",{"type":54,"tag":120,"props":1027,"children":1028},{"style":230},[1029],{"type":60,"value":457},{"type":54,"tag":120,"props":1031,"children":1032},{"style":139},[1033],{"type":60,"value":436},{"type":54,"tag":120,"props":1035,"children":1036},{"style":230},[1037],{"type":60,"value":105},{"type":54,"tag":120,"props":1039,"children":1040},{"style":139},[1041],{"type":60,"value":1042},"?.",{"type":54,"tag":120,"props":1044,"children":1045},{"style":439},[1046],{"type":60,"value":442},{"type":54,"tag":120,"props":1048,"children":1049},{"style":230},[1050],{"type":60,"value":447},{"type":54,"tag":120,"props":1052,"children":1053},{"style":139},[1054],{"type":60,"value":447},{"type":54,"tag":120,"props":1056,"children":1057},{"style":454},[1058],{"type":60,"value":1059},"part",{"type":54,"tag":120,"props":1061,"children":1062},{"style":139},[1063],{"type":60,"value":711},{"type":54,"tag":120,"props":1065,"children":1066},{"style":454},[1067],{"type":60,"value":1068}," i",{"type":54,"tag":120,"props":1070,"children":1071},{"style":139},[1072],{"type":60,"value":462},{"type":54,"tag":120,"props":1074,"children":1075},{"style":127},[1076],{"type":60,"value":467},{"type":54,"tag":120,"props":1078,"children":1079},{"style":139},[1080],{"type":60,"value":142},{"type":54,"tag":120,"props":1082,"children":1084},{"class":122,"line":1083},17,[1085],{"type":54,"tag":120,"props":1086,"children":1087},{"style":259},[1088],{"type":60,"value":1089},"            \u002F\u002F 1. Text parts — render as formatted text\n",{"type":54,"tag":120,"props":1091,"children":1093},{"class":122,"line":1092},18,[1094,1099,1104,1108,1112,1117,1121,1125,1129,1133,1138,1143,1147,1151,1155,1160,1165],{"type":54,"tag":120,"props":1095,"children":1096},{"style":338},[1097],{"type":60,"value":1098},"            if",{"type":54,"tag":120,"props":1100,"children":1101},{"style":149},[1102],{"type":60,"value":1103}," (",{"type":54,"tag":120,"props":1105,"children":1106},{"style":230},[1107],{"type":60,"value":1059},{"type":54,"tag":120,"props":1109,"children":1110},{"style":139},[1111],{"type":60,"value":436},{"type":54,"tag":120,"props":1113,"children":1114},{"style":230},[1115],{"type":60,"value":1116},"type",{"type":54,"tag":120,"props":1118,"children":1119},{"style":139},[1120],{"type":60,"value":856},{"type":54,"tag":120,"props":1122,"children":1123},{"style":139},[1124],{"type":60,"value":180},{"type":54,"tag":120,"props":1126,"children":1127},{"style":183},[1128],{"type":60,"value":60},{"type":54,"tag":120,"props":1130,"children":1131},{"style":139},[1132],{"type":60,"value":191},{"type":54,"tag":120,"props":1134,"children":1135},{"style":139},[1136],{"type":60,"value":1137}," &&",{"type":54,"tag":120,"props":1139,"children":1140},{"style":230},[1141],{"type":60,"value":1142}," part",{"type":54,"tag":120,"props":1144,"children":1145},{"style":139},[1146],{"type":60,"value":436},{"type":54,"tag":120,"props":1148,"children":1149},{"style":230},[1150],{"type":60,"value":60},{"type":54,"tag":120,"props":1152,"children":1153},{"style":139},[1154],{"type":60,"value":436},{"type":54,"tag":120,"props":1156,"children":1157},{"style":439},[1158],{"type":60,"value":1159},"trim",{"type":54,"tag":120,"props":1161,"children":1162},{"style":149},[1163],{"type":60,"value":1164},"()) ",{"type":54,"tag":120,"props":1166,"children":1167},{"style":139},[1168],{"type":60,"value":747},{"type":54,"tag":120,"props":1170,"children":1172},{"class":122,"line":1171},19,[1173,1178],{"type":54,"tag":120,"props":1174,"children":1175},{"style":338},[1176],{"type":60,"value":1177},"              return",{"type":54,"tag":120,"props":1179,"children":1180},{"style":149},[1181],{"type":60,"value":472},{"type":54,"tag":120,"props":1183,"children":1185},{"class":122,"line":1184},20,[1186,1191,1195,1199,1203,1208,1212,1217],{"type":54,"tag":120,"props":1187,"children":1188},{"style":139},[1189],{"type":60,"value":1190},"                \u003C",{"type":54,"tag":120,"props":1192,"children":1193},{"style":149},[1194],{"type":60,"value":928},{"type":54,"tag":120,"props":1196,"children":1197},{"style":127},[1198],{"type":60,"value":490},{"type":54,"tag":120,"props":1200,"children":1201},{"style":139},[1202],{"type":60,"value":495},{"type":54,"tag":120,"props":1204,"children":1205},{"style":230},[1206],{"type":60,"value":1207},"i",{"type":54,"tag":120,"props":1209,"children":1210},{"style":139},[1211],{"type":60,"value":513},{"type":54,"tag":120,"props":1213,"children":1214},{"style":127},[1215],{"type":60,"value":1216},"className",{"type":54,"tag":120,"props":1218,"children":1219},{"style":139},[1220],{"type":60,"value":1221},"={\n",{"type":54,"tag":120,"props":1223,"children":1225},{"class":122,"line":1224},21,[1226,1231,1235,1240,1245,1249,1253],{"type":54,"tag":120,"props":1227,"children":1228},{"style":230},[1229],{"type":60,"value":1230},"                  message",{"type":54,"tag":120,"props":1232,"children":1233},{"style":139},[1234],{"type":60,"value":436},{"type":54,"tag":120,"props":1236,"children":1237},{"style":230},[1238],{"type":60,"value":1239},"role ",{"type":54,"tag":120,"props":1241,"children":1242},{"style":139},[1243],{"type":60,"value":1244},"===",{"type":54,"tag":120,"props":1246,"children":1247},{"style":139},[1248],{"type":60,"value":180},{"type":54,"tag":120,"props":1250,"children":1251},{"style":183},[1252],{"type":60,"value":186},{"type":54,"tag":120,"props":1254,"children":1255},{"style":139},[1256],{"type":60,"value":210},{"type":54,"tag":120,"props":1258,"children":1260},{"class":122,"line":1259},22,[1261,1266,1270,1275],{"type":54,"tag":120,"props":1262,"children":1263},{"style":139},[1264],{"type":60,"value":1265},"                    ?",{"type":54,"tag":120,"props":1267,"children":1268},{"style":139},[1269],{"type":60,"value":180},{"type":54,"tag":120,"props":1271,"children":1272},{"style":183},[1273],{"type":60,"value":1274},"bg-primary text-primary-foreground rounded-lg px-3 py-2",{"type":54,"tag":120,"props":1276,"children":1277},{"style":139},[1278],{"type":60,"value":210},{"type":54,"tag":120,"props":1280,"children":1282},{"class":122,"line":1281},23,[1283,1288,1292,1297],{"type":54,"tag":120,"props":1284,"children":1285},{"style":139},[1286],{"type":60,"value":1287},"                    :",{"type":54,"tag":120,"props":1289,"children":1290},{"style":139},[1291],{"type":60,"value":180},{"type":54,"tag":120,"props":1293,"children":1294},{"style":183},[1295],{"type":60,"value":1296},"bg-muted rounded-lg px-3 py-2",{"type":54,"tag":120,"props":1298,"children":1299},{"style":139},[1300],{"type":60,"value":210},{"type":54,"tag":120,"props":1302,"children":1304},{"class":122,"line":1303},24,[1305],{"type":54,"tag":120,"props":1306,"children":1307},{"style":139},[1308],{"type":60,"value":1309},"                }>\n",{"type":54,"tag":120,"props":1311,"children":1313},{"class":122,"line":1312},25,[1314,1319,1323,1327,1331],{"type":54,"tag":120,"props":1315,"children":1316},{"style":139},[1317],{"type":60,"value":1318},"                  {",{"type":54,"tag":120,"props":1320,"children":1321},{"style":230},[1322],{"type":60,"value":1059},{"type":54,"tag":120,"props":1324,"children":1325},{"style":139},[1326],{"type":60,"value":436},{"type":54,"tag":120,"props":1328,"children":1329},{"style":230},[1330],{"type":60,"value":60},{"type":54,"tag":120,"props":1332,"children":1333},{"style":139},[1334],{"type":60,"value":242},{"type":54,"tag":120,"props":1336,"children":1338},{"class":122,"line":1337},26,[1339,1344,1348],{"type":54,"tag":120,"props":1340,"children":1341},{"style":139},[1342],{"type":60,"value":1343},"                \u003C\u002F",{"type":54,"tag":120,"props":1345,"children":1346},{"style":149},[1347],{"type":60,"value":928},{"type":54,"tag":120,"props":1349,"children":1350},{"style":139},[1351],{"type":60,"value":933},{"type":54,"tag":120,"props":1353,"children":1355},{"class":122,"line":1354},27,[1356],{"type":54,"tag":120,"props":1357,"children":1358},{"style":149},[1359],{"type":60,"value":1360},"              )\n",{"type":54,"tag":120,"props":1362,"children":1364},{"class":122,"line":1363},28,[1365],{"type":54,"tag":120,"props":1366,"children":1367},{"style":139},[1368],{"type":60,"value":1369},"            }\n",{"type":54,"tag":120,"props":1371,"children":1373},{"class":122,"line":1372},29,[1374],{"type":54,"tag":120,"props":1375,"children":1376},{"emptyLinePlaceholder":249},[1377],{"type":60,"value":252},{"type":54,"tag":120,"props":1379,"children":1381},{"class":122,"line":1380},30,[1382],{"type":54,"tag":120,"props":1383,"children":1384},{"style":259},[1385],{"type":60,"value":1386},"            \u002F\u002F 2. Tool parts — type is \"tool-\u003CtoolName>\"\n",{"type":54,"tag":120,"props":1388,"children":1390},{"class":122,"line":1389},31,[1391,1395,1399,1403,1407,1411,1415,1420,1424,1428,1433,1437,1442],{"type":54,"tag":120,"props":1392,"children":1393},{"style":338},[1394],{"type":60,"value":1098},{"type":54,"tag":120,"props":1396,"children":1397},{"style":149},[1398],{"type":60,"value":1103},{"type":54,"tag":120,"props":1400,"children":1401},{"style":230},[1402],{"type":60,"value":1059},{"type":54,"tag":120,"props":1404,"children":1405},{"style":139},[1406],{"type":60,"value":436},{"type":54,"tag":120,"props":1408,"children":1409},{"style":230},[1410],{"type":60,"value":1116},{"type":54,"tag":120,"props":1412,"children":1413},{"style":139},[1414],{"type":60,"value":436},{"type":54,"tag":120,"props":1416,"children":1417},{"style":439},[1418],{"type":60,"value":1419},"startsWith",{"type":54,"tag":120,"props":1421,"children":1422},{"style":149},[1423],{"type":60,"value":447},{"type":54,"tag":120,"props":1425,"children":1426},{"style":139},[1427],{"type":60,"value":191},{"type":54,"tag":120,"props":1429,"children":1430},{"style":183},[1431],{"type":60,"value":1432},"tool-",{"type":54,"tag":120,"props":1434,"children":1435},{"style":139},[1436],{"type":60,"value":191},{"type":54,"tag":120,"props":1438,"children":1439},{"style":149},[1440],{"type":60,"value":1441},")) ",{"type":54,"tag":120,"props":1443,"children":1444},{"style":139},[1445],{"type":60,"value":747},{"type":54,"tag":120,"props":1447,"children":1449},{"class":122,"line":1448},32,[1450,1455,1460,1464,1468,1473],{"type":54,"tag":120,"props":1451,"children":1452},{"style":127},[1453],{"type":60,"value":1454},"              const",{"type":54,"tag":120,"props":1456,"children":1457},{"style":230},[1458],{"type":60,"value":1459}," toolPart",{"type":54,"tag":120,"props":1461,"children":1462},{"style":139},[1463],{"type":60,"value":734},{"type":54,"tag":120,"props":1465,"children":1466},{"style":230},[1467],{"type":60,"value":1142},{"type":54,"tag":120,"props":1469,"children":1470},{"style":338},[1471],{"type":60,"value":1472}," as",{"type":54,"tag":120,"props":1474,"children":1475},{"style":139},[1476],{"type":60,"value":142},{"type":54,"tag":120,"props":1478,"children":1480},{"class":122,"line":1479},33,[1481,1486,1490],{"type":54,"tag":120,"props":1482,"children":1483},{"style":149},[1484],{"type":60,"value":1485},"                type",{"type":54,"tag":120,"props":1487,"children":1488},{"style":139},[1489],{"type":60,"value":157},{"type":54,"tag":120,"props":1491,"children":1492},{"style":133},[1493],{"type":60,"value":162},{"type":54,"tag":120,"props":1495,"children":1497},{"class":122,"line":1496},34,[1498,1503,1507],{"type":54,"tag":120,"props":1499,"children":1500},{"style":149},[1501],{"type":60,"value":1502},"                toolCallId",{"type":54,"tag":120,"props":1504,"children":1505},{"style":139},[1506],{"type":60,"value":157},{"type":54,"tag":120,"props":1508,"children":1509},{"style":133},[1510],{"type":60,"value":162},{"type":54,"tag":120,"props":1512,"children":1514},{"class":122,"line":1513},35,[1515,1520,1524],{"type":54,"tag":120,"props":1516,"children":1517},{"style":149},[1518],{"type":60,"value":1519},"                state",{"type":54,"tag":120,"props":1521,"children":1522},{"style":139},[1523],{"type":60,"value":157},{"type":54,"tag":120,"props":1525,"children":1526},{"style":133},[1527],{"type":60,"value":162},{"type":54,"tag":120,"props":1529,"children":1531},{"class":122,"line":1530},36,[1532,1537,1542],{"type":54,"tag":120,"props":1533,"children":1534},{"style":149},[1535],{"type":60,"value":1536},"                input",{"type":54,"tag":120,"props":1538,"children":1539},{"style":139},[1540],{"type":60,"value":1541},"?:",{"type":54,"tag":120,"props":1543,"children":1544},{"style":133},[1545],{"type":60,"value":1546}," unknown\n",{"type":54,"tag":120,"props":1548,"children":1550},{"class":122,"line":1549},37,[1551,1556,1560],{"type":54,"tag":120,"props":1552,"children":1553},{"style":149},[1554],{"type":60,"value":1555},"                output",{"type":54,"tag":120,"props":1557,"children":1558},{"style":139},[1559],{"type":60,"value":1541},{"type":54,"tag":120,"props":1561,"children":1562},{"style":133},[1563],{"type":60,"value":1546},{"type":54,"tag":120,"props":1565,"children":1567},{"class":122,"line":1566},38,[1568],{"type":54,"tag":120,"props":1569,"children":1570},{"style":139},[1571],{"type":60,"value":1572},"              }\n",{"type":54,"tag":120,"props":1574,"children":1576},{"class":122,"line":1575},39,[1577,1581,1586,1590,1594,1598,1602,1606,1611,1615,1619,1623,1627,1631,1636],{"type":54,"tag":120,"props":1578,"children":1579},{"style":127},[1580],{"type":60,"value":1454},{"type":54,"tag":120,"props":1582,"children":1583},{"style":230},[1584],{"type":60,"value":1585}," toolName",{"type":54,"tag":120,"props":1587,"children":1588},{"style":139},[1589],{"type":60,"value":734},{"type":54,"tag":120,"props":1591,"children":1592},{"style":230},[1593],{"type":60,"value":1459},{"type":54,"tag":120,"props":1595,"children":1596},{"style":139},[1597],{"type":60,"value":436},{"type":54,"tag":120,"props":1599,"children":1600},{"style":230},[1601],{"type":60,"value":1116},{"type":54,"tag":120,"props":1603,"children":1604},{"style":139},[1605],{"type":60,"value":436},{"type":54,"tag":120,"props":1607,"children":1608},{"style":439},[1609],{"type":60,"value":1610},"replace",{"type":54,"tag":120,"props":1612,"children":1613},{"style":149},[1614],{"type":60,"value":447},{"type":54,"tag":120,"props":1616,"children":1617},{"style":139},[1618],{"type":60,"value":191},{"type":54,"tag":120,"props":1620,"children":1621},{"style":183},[1622],{"type":60,"value":1432},{"type":54,"tag":120,"props":1624,"children":1625},{"style":139},[1626],{"type":60,"value":191},{"type":54,"tag":120,"props":1628,"children":1629},{"style":139},[1630],{"type":60,"value":711},{"type":54,"tag":120,"props":1632,"children":1633},{"style":139},[1634],{"type":60,"value":1635}," ''",{"type":54,"tag":120,"props":1637,"children":1638},{"style":149},[1639],{"type":60,"value":824},{"type":54,"tag":120,"props":1641,"children":1643},{"class":122,"line":1642},40,[1644],{"type":54,"tag":120,"props":1645,"children":1646},{"emptyLinePlaceholder":249},[1647],{"type":60,"value":252},{"type":54,"tag":120,"props":1649,"children":1651},{"class":122,"line":1650},41,[1652,1657,1661,1666,1670,1675,1679,1683,1688,1692,1696,1700,1704,1709,1714],{"type":54,"tag":120,"props":1653,"children":1654},{"style":338},[1655],{"type":60,"value":1656},"              if",{"type":54,"tag":120,"props":1658,"children":1659},{"style":149},[1660],{"type":60,"value":1103},{"type":54,"tag":120,"props":1662,"children":1663},{"style":230},[1664],{"type":60,"value":1665},"toolPart",{"type":54,"tag":120,"props":1667,"children":1668},{"style":139},[1669],{"type":60,"value":436},{"type":54,"tag":120,"props":1671,"children":1672},{"style":230},[1673],{"type":60,"value":1674},"state",{"type":54,"tag":120,"props":1676,"children":1677},{"style":139},[1678],{"type":60,"value":856},{"type":54,"tag":120,"props":1680,"children":1681},{"style":139},[1682],{"type":60,"value":180},{"type":54,"tag":120,"props":1684,"children":1685},{"style":183},[1686],{"type":60,"value":1687},"output-available",{"type":54,"tag":120,"props":1689,"children":1690},{"style":139},[1691],{"type":60,"value":191},{"type":54,"tag":120,"props":1693,"children":1694},{"style":139},[1695],{"type":60,"value":1137},{"type":54,"tag":120,"props":1697,"children":1698},{"style":230},[1699],{"type":60,"value":1459},{"type":54,"tag":120,"props":1701,"children":1702},{"style":139},[1703],{"type":60,"value":436},{"type":54,"tag":120,"props":1705,"children":1706},{"style":230},[1707],{"type":60,"value":1708},"output",{"type":54,"tag":120,"props":1710,"children":1711},{"style":149},[1712],{"type":60,"value":1713},") ",{"type":54,"tag":120,"props":1715,"children":1716},{"style":139},[1717],{"type":60,"value":747},{"type":54,"tag":120,"props":1719,"children":1721},{"class":122,"line":1720},42,[1722,1727,1732,1737,1741,1745,1749,1753,1758,1762,1767,1771,1775,1779,1783,1787,1791],{"type":54,"tag":120,"props":1723,"children":1724},{"style":338},[1725],{"type":60,"value":1726},"                return",{"type":54,"tag":120,"props":1728,"children":1729},{"style":139},[1730],{"type":60,"value":1731}," \u003C",{"type":54,"tag":120,"props":1733,"children":1734},{"style":133},[1735],{"type":60,"value":1736},"ToolResultCard",{"type":54,"tag":120,"props":1738,"children":1739},{"style":127},[1740],{"type":60,"value":490},{"type":54,"tag":120,"props":1742,"children":1743},{"style":139},[1744],{"type":60,"value":495},{"type":54,"tag":120,"props":1746,"children":1747},{"style":230},[1748],{"type":60,"value":1207},{"type":54,"tag":120,"props":1750,"children":1751},{"style":139},[1752],{"type":60,"value":513},{"type":54,"tag":120,"props":1754,"children":1755},{"style":127},[1756],{"type":60,"value":1757},"name",{"type":54,"tag":120,"props":1759,"children":1760},{"style":139},[1761],{"type":60,"value":495},{"type":54,"tag":120,"props":1763,"children":1764},{"style":230},[1765],{"type":60,"value":1766},"toolName",{"type":54,"tag":120,"props":1768,"children":1769},{"style":139},[1770],{"type":60,"value":513},{"type":54,"tag":120,"props":1772,"children":1773},{"style":127},[1774],{"type":60,"value":1708},{"type":54,"tag":120,"props":1776,"children":1777},{"style":139},[1778],{"type":60,"value":495},{"type":54,"tag":120,"props":1780,"children":1781},{"style":230},[1782],{"type":60,"value":1665},{"type":54,"tag":120,"props":1784,"children":1785},{"style":139},[1786],{"type":60,"value":436},{"type":54,"tag":120,"props":1788,"children":1789},{"style":230},[1790],{"type":60,"value":1708},{"type":54,"tag":120,"props":1792,"children":1793},{"style":139},[1794],{"type":60,"value":530},{"type":54,"tag":120,"props":1796,"children":1798},{"class":122,"line":1797},43,[1799],{"type":54,"tag":120,"props":1800,"children":1801},{"style":139},[1802],{"type":60,"value":1572},{"type":54,"tag":120,"props":1804,"children":1806},{"class":122,"line":1805},44,[1807],{"type":54,"tag":120,"props":1808,"children":1809},{"emptyLinePlaceholder":249},[1810],{"type":60,"value":252},{"type":54,"tag":120,"props":1812,"children":1814},{"class":122,"line":1813},45,[1815,1819,1823,1827,1831,1835,1839,1843,1848,1852,1856],{"type":54,"tag":120,"props":1816,"children":1817},{"style":338},[1818],{"type":60,"value":1656},{"type":54,"tag":120,"props":1820,"children":1821},{"style":149},[1822],{"type":60,"value":1103},{"type":54,"tag":120,"props":1824,"children":1825},{"style":230},[1826],{"type":60,"value":1665},{"type":54,"tag":120,"props":1828,"children":1829},{"style":139},[1830],{"type":60,"value":436},{"type":54,"tag":120,"props":1832,"children":1833},{"style":230},[1834],{"type":60,"value":1674},{"type":54,"tag":120,"props":1836,"children":1837},{"style":139},[1838],{"type":60,"value":856},{"type":54,"tag":120,"props":1840,"children":1841},{"style":139},[1842],{"type":60,"value":180},{"type":54,"tag":120,"props":1844,"children":1845},{"style":183},[1846],{"type":60,"value":1847},"output-denied",{"type":54,"tag":120,"props":1849,"children":1850},{"style":139},[1851],{"type":60,"value":191},{"type":54,"tag":120,"props":1853,"children":1854},{"style":149},[1855],{"type":60,"value":1713},{"type":54,"tag":120,"props":1857,"children":1858},{"style":139},[1859],{"type":60,"value":747},{"type":54,"tag":120,"props":1861,"children":1863},{"class":122,"line":1862},46,[1864,1868],{"type":54,"tag":120,"props":1865,"children":1866},{"style":338},[1867],{"type":60,"value":1726},{"type":54,"tag":120,"props":1869,"children":1870},{"style":149},[1871],{"type":60,"value":472},{"type":54,"tag":120,"props":1873,"children":1875},{"class":122,"line":1874},47,[1876,1881,1885,1889,1893,1897,1901,1905,1910,1915,1920,1924],{"type":54,"tag":120,"props":1877,"children":1878},{"style":139},[1879],{"type":60,"value":1880},"                  \u003C",{"type":54,"tag":120,"props":1882,"children":1883},{"style":149},[1884],{"type":60,"value":928},{"type":54,"tag":120,"props":1886,"children":1887},{"style":127},[1888],{"type":60,"value":490},{"type":54,"tag":120,"props":1890,"children":1891},{"style":139},[1892],{"type":60,"value":495},{"type":54,"tag":120,"props":1894,"children":1895},{"style":230},[1896],{"type":60,"value":1207},{"type":54,"tag":120,"props":1898,"children":1899},{"style":139},[1900],{"type":60,"value":513},{"type":54,"tag":120,"props":1902,"children":1903},{"style":127},[1904],{"type":60,"value":1216},{"type":54,"tag":120,"props":1906,"children":1907},{"style":139},[1908],{"type":60,"value":1909},"=",{"type":54,"tag":120,"props":1911,"children":1912},{"style":139},[1913],{"type":60,"value":1914},"\"",{"type":54,"tag":120,"props":1916,"children":1917},{"style":183},[1918],{"type":60,"value":1919},"text-sm text-muted-foreground",{"type":54,"tag":120,"props":1921,"children":1922},{"style":139},[1923],{"type":60,"value":1914},{"type":54,"tag":120,"props":1925,"children":1926},{"style":139},[1927],{"type":60,"value":933},{"type":54,"tag":120,"props":1929,"children":1931},{"class":122,"line":1930},48,[1932,1937,1941,1946],{"type":54,"tag":120,"props":1933,"children":1934},{"style":139},[1935],{"type":60,"value":1936},"                    {",{"type":54,"tag":120,"props":1938,"children":1939},{"style":230},[1940],{"type":60,"value":1766},{"type":54,"tag":120,"props":1942,"children":1943},{"style":139},[1944],{"type":60,"value":1945},"}",{"type":54,"tag":120,"props":1947,"children":1948},{"style":230},[1949],{"type":60,"value":1950}," was denied\n",{"type":54,"tag":120,"props":1952,"children":1954},{"class":122,"line":1953},49,[1955,1960,1964],{"type":54,"tag":120,"props":1956,"children":1957},{"style":139},[1958],{"type":60,"value":1959},"                  \u003C\u002F",{"type":54,"tag":120,"props":1961,"children":1962},{"style":149},[1963],{"type":60,"value":928},{"type":54,"tag":120,"props":1965,"children":1966},{"style":139},[1967],{"type":60,"value":933},{"type":54,"tag":120,"props":1969,"children":1971},{"class":122,"line":1970},50,[1972],{"type":54,"tag":120,"props":1973,"children":1974},{"style":149},[1975],{"type":60,"value":1976},"                )\n",{"type":54,"tag":120,"props":1978,"children":1980},{"class":122,"line":1979},51,[1981],{"type":54,"tag":120,"props":1982,"children":1983},{"style":139},[1984],{"type":60,"value":1572},{"type":54,"tag":120,"props":1986,"children":1988},{"class":122,"line":1987},52,[1989],{"type":54,"tag":120,"props":1990,"children":1991},{"emptyLinePlaceholder":249},[1992],{"type":60,"value":252},{"type":54,"tag":120,"props":1994,"children":1996},{"class":122,"line":1995},53,[1997,2001,2005,2009,2013,2017,2021,2025,2030,2034,2038],{"type":54,"tag":120,"props":1998,"children":1999},{"style":338},[2000],{"type":60,"value":1656},{"type":54,"tag":120,"props":2002,"children":2003},{"style":149},[2004],{"type":60,"value":1103},{"type":54,"tag":120,"props":2006,"children":2007},{"style":230},[2008],{"type":60,"value":1665},{"type":54,"tag":120,"props":2010,"children":2011},{"style":139},[2012],{"type":60,"value":436},{"type":54,"tag":120,"props":2014,"children":2015},{"style":230},[2016],{"type":60,"value":1674},{"type":54,"tag":120,"props":2018,"children":2019},{"style":139},[2020],{"type":60,"value":856},{"type":54,"tag":120,"props":2022,"children":2023},{"style":139},[2024],{"type":60,"value":180},{"type":54,"tag":120,"props":2026,"children":2027},{"style":183},[2028],{"type":60,"value":2029},"approval-requested",{"type":54,"tag":120,"props":2031,"children":2032},{"style":139},[2033],{"type":60,"value":191},{"type":54,"tag":120,"props":2035,"children":2036},{"style":149},[2037],{"type":60,"value":1713},{"type":54,"tag":120,"props":2039,"children":2040},{"style":139},[2041],{"type":60,"value":747},{"type":54,"tag":120,"props":2043,"children":2045},{"class":122,"line":2044},54,[2046,2050],{"type":54,"tag":120,"props":2047,"children":2048},{"style":338},[2049],{"type":60,"value":1726},{"type":54,"tag":120,"props":2051,"children":2052},{"style":149},[2053],{"type":60,"value":472},{"type":54,"tag":120,"props":2055,"children":2057},{"class":122,"line":2056},55,[2058,2062,2066,2070,2074,2078,2082,2086,2090,2094,2099,2103],{"type":54,"tag":120,"props":2059,"children":2060},{"style":139},[2061],{"type":60,"value":1880},{"type":54,"tag":120,"props":2063,"children":2064},{"style":149},[2065],{"type":60,"value":928},{"type":54,"tag":120,"props":2067,"children":2068},{"style":127},[2069],{"type":60,"value":490},{"type":54,"tag":120,"props":2071,"children":2072},{"style":139},[2073],{"type":60,"value":495},{"type":54,"tag":120,"props":2075,"children":2076},{"style":230},[2077],{"type":60,"value":1207},{"type":54,"tag":120,"props":2079,"children":2080},{"style":139},[2081],{"type":60,"value":513},{"type":54,"tag":120,"props":2083,"children":2084},{"style":127},[2085],{"type":60,"value":1216},{"type":54,"tag":120,"props":2087,"children":2088},{"style":139},[2089],{"type":60,"value":1909},{"type":54,"tag":120,"props":2091,"children":2092},{"style":139},[2093],{"type":60,"value":1914},{"type":54,"tag":120,"props":2095,"children":2096},{"style":183},[2097],{"type":60,"value":2098},"text-sm text-yellow-500",{"type":54,"tag":120,"props":2100,"children":2101},{"style":139},[2102],{"type":60,"value":1914},{"type":54,"tag":120,"props":2104,"children":2105},{"style":139},[2106],{"type":60,"value":933},{"type":54,"tag":120,"props":2108,"children":2110},{"class":122,"line":2109},56,[2111,2115,2119,2123],{"type":54,"tag":120,"props":2112,"children":2113},{"style":139},[2114],{"type":60,"value":1936},{"type":54,"tag":120,"props":2116,"children":2117},{"style":230},[2118],{"type":60,"value":1766},{"type":54,"tag":120,"props":2120,"children":2121},{"style":139},[2122],{"type":60,"value":1945},{"type":54,"tag":120,"props":2124,"children":2125},{"style":230},[2126],{"type":60,"value":2127}," requires approval\n",{"type":54,"tag":120,"props":2129,"children":2131},{"class":122,"line":2130},57,[2132,2136,2140],{"type":54,"tag":120,"props":2133,"children":2134},{"style":139},[2135],{"type":60,"value":1959},{"type":54,"tag":120,"props":2137,"children":2138},{"style":149},[2139],{"type":60,"value":928},{"type":54,"tag":120,"props":2141,"children":2142},{"style":139},[2143],{"type":60,"value":933},{"type":54,"tag":120,"props":2145,"children":2147},{"class":122,"line":2146},58,[2148],{"type":54,"tag":120,"props":2149,"children":2150},{"style":149},[2151],{"type":60,"value":1976},{"type":54,"tag":120,"props":2153,"children":2155},{"class":122,"line":2154},59,[2156],{"type":54,"tag":120,"props":2157,"children":2158},{"style":139},[2159],{"type":60,"value":1572},{"type":54,"tag":120,"props":2161,"children":2163},{"class":122,"line":2162},60,[2164],{"type":54,"tag":120,"props":2165,"children":2166},{"emptyLinePlaceholder":249},[2167],{"type":60,"value":252},{"type":54,"tag":120,"props":2169,"children":2171},{"class":122,"line":2170},61,[2172,2176],{"type":54,"tag":120,"props":2173,"children":2174},{"style":338},[2175],{"type":60,"value":1177},{"type":54,"tag":120,"props":2177,"children":2178},{"style":149},[2179],{"type":60,"value":472},{"type":54,"tag":120,"props":2181,"children":2183},{"class":122,"line":2182},62,[2184,2188,2192,2196,2200,2204,2208,2212,2216,2220,2225,2229],{"type":54,"tag":120,"props":2185,"children":2186},{"style":139},[2187],{"type":60,"value":1190},{"type":54,"tag":120,"props":2189,"children":2190},{"style":149},[2191],{"type":60,"value":928},{"type":54,"tag":120,"props":2193,"children":2194},{"style":127},[2195],{"type":60,"value":490},{"type":54,"tag":120,"props":2197,"children":2198},{"style":139},[2199],{"type":60,"value":495},{"type":54,"tag":120,"props":2201,"children":2202},{"style":230},[2203],{"type":60,"value":1207},{"type":54,"tag":120,"props":2205,"children":2206},{"style":139},[2207],{"type":60,"value":513},{"type":54,"tag":120,"props":2209,"children":2210},{"style":127},[2211],{"type":60,"value":1216},{"type":54,"tag":120,"props":2213,"children":2214},{"style":139},[2215],{"type":60,"value":1909},{"type":54,"tag":120,"props":2217,"children":2218},{"style":139},[2219],{"type":60,"value":1914},{"type":54,"tag":120,"props":2221,"children":2222},{"style":183},[2223],{"type":60,"value":2224},"text-sm text-muted-foreground animate-pulse",{"type":54,"tag":120,"props":2226,"children":2227},{"style":139},[2228],{"type":60,"value":1914},{"type":54,"tag":120,"props":2230,"children":2231},{"style":139},[2232],{"type":60,"value":933},{"type":54,"tag":120,"props":2234,"children":2236},{"class":122,"line":2235},63,[2237,2242,2246,2250,2254],{"type":54,"tag":120,"props":2238,"children":2239},{"style":230},[2240],{"type":60,"value":2241},"                  Running ",{"type":54,"tag":120,"props":2243,"children":2244},{"style":139},[2245],{"type":60,"value":426},{"type":54,"tag":120,"props":2247,"children":2248},{"style":230},[2249],{"type":60,"value":1766},{"type":54,"tag":120,"props":2251,"children":2252},{"style":139},[2253],{"type":60,"value":1945},{"type":54,"tag":120,"props":2255,"children":2256},{"style":230},[2257],{"type":60,"value":2258},"...\n",{"type":54,"tag":120,"props":2260,"children":2262},{"class":122,"line":2261},64,[2263,2267,2271],{"type":54,"tag":120,"props":2264,"children":2265},{"style":139},[2266],{"type":60,"value":1343},{"type":54,"tag":120,"props":2268,"children":2269},{"style":149},[2270],{"type":60,"value":928},{"type":54,"tag":120,"props":2272,"children":2273},{"style":139},[2274],{"type":60,"value":933},{"type":54,"tag":120,"props":2276,"children":2278},{"class":122,"line":2277},65,[2279],{"type":54,"tag":120,"props":2280,"children":2281},{"style":149},[2282],{"type":60,"value":1360},{"type":54,"tag":120,"props":2284,"children":2286},{"class":122,"line":2285},66,[2287],{"type":54,"tag":120,"props":2288,"children":2289},{"style":139},[2290],{"type":60,"value":1369},{"type":54,"tag":120,"props":2292,"children":2294},{"class":122,"line":2293},67,[2295],{"type":54,"tag":120,"props":2296,"children":2297},{"emptyLinePlaceholder":249},[2298],{"type":60,"value":252},{"type":54,"tag":120,"props":2300,"children":2302},{"class":122,"line":2301},68,[2303],{"type":54,"tag":120,"props":2304,"children":2305},{"style":259},[2306],{"type":60,"value":2307},"            \u002F\u002F 3. Reasoning parts\n",{"type":54,"tag":120,"props":2309,"children":2311},{"class":122,"line":2310},69,[2312,2316,2320,2324,2328,2332,2336,2340,2345,2349,2353],{"type":54,"tag":120,"props":2313,"children":2314},{"style":338},[2315],{"type":60,"value":1098},{"type":54,"tag":120,"props":2317,"children":2318},{"style":149},[2319],{"type":60,"value":1103},{"type":54,"tag":120,"props":2321,"children":2322},{"style":230},[2323],{"type":60,"value":1059},{"type":54,"tag":120,"props":2325,"children":2326},{"style":139},[2327],{"type":60,"value":436},{"type":54,"tag":120,"props":2329,"children":2330},{"style":230},[2331],{"type":60,"value":1116},{"type":54,"tag":120,"props":2333,"children":2334},{"style":139},[2335],{"type":60,"value":856},{"type":54,"tag":120,"props":2337,"children":2338},{"style":139},[2339],{"type":60,"value":180},{"type":54,"tag":120,"props":2341,"children":2342},{"style":183},[2343],{"type":60,"value":2344},"reasoning",{"type":54,"tag":120,"props":2346,"children":2347},{"style":139},[2348],{"type":60,"value":191},{"type":54,"tag":120,"props":2350,"children":2351},{"style":149},[2352],{"type":60,"value":1713},{"type":54,"tag":120,"props":2354,"children":2355},{"style":139},[2356],{"type":60,"value":747},{"type":54,"tag":120,"props":2358,"children":2360},{"class":122,"line":2359},70,[2361,2365],{"type":54,"tag":120,"props":2362,"children":2363},{"style":338},[2364],{"type":60,"value":1177},{"type":54,"tag":120,"props":2366,"children":2367},{"style":149},[2368],{"type":60,"value":472},{"type":54,"tag":120,"props":2370,"children":2372},{"class":122,"line":2371},71,[2373,2377,2382,2386,2390,2394,2398,2402,2406,2410,2415,2419],{"type":54,"tag":120,"props":2374,"children":2375},{"style":139},[2376],{"type":60,"value":1190},{"type":54,"tag":120,"props":2378,"children":2379},{"style":149},[2380],{"type":60,"value":2381},"details",{"type":54,"tag":120,"props":2383,"children":2384},{"style":127},[2385],{"type":60,"value":490},{"type":54,"tag":120,"props":2387,"children":2388},{"style":139},[2389],{"type":60,"value":495},{"type":54,"tag":120,"props":2391,"children":2392},{"style":230},[2393],{"type":60,"value":1207},{"type":54,"tag":120,"props":2395,"children":2396},{"style":139},[2397],{"type":60,"value":513},{"type":54,"tag":120,"props":2399,"children":2400},{"style":127},[2401],{"type":60,"value":1216},{"type":54,"tag":120,"props":2403,"children":2404},{"style":139},[2405],{"type":60,"value":1909},{"type":54,"tag":120,"props":2407,"children":2408},{"style":139},[2409],{"type":60,"value":1914},{"type":54,"tag":120,"props":2411,"children":2412},{"style":183},[2413],{"type":60,"value":2414},"text-xs text-muted-foreground",{"type":54,"tag":120,"props":2416,"children":2417},{"style":139},[2418],{"type":60,"value":1914},{"type":54,"tag":120,"props":2420,"children":2421},{"style":139},[2422],{"type":60,"value":933},{"type":54,"tag":120,"props":2424,"children":2426},{"class":122,"line":2425},72,[2427,2431,2436,2441,2446,2451,2455],{"type":54,"tag":120,"props":2428,"children":2429},{"style":139},[2430],{"type":60,"value":1880},{"type":54,"tag":120,"props":2432,"children":2433},{"style":149},[2434],{"type":60,"value":2435},"summary",{"type":54,"tag":120,"props":2437,"children":2438},{"style":139},[2439],{"type":60,"value":2440},">",{"type":54,"tag":120,"props":2442,"children":2443},{"style":230},[2444],{"type":60,"value":2445},"Thinking...",{"type":54,"tag":120,"props":2447,"children":2448},{"style":139},[2449],{"type":60,"value":2450},"\u003C\u002F",{"type":54,"tag":120,"props":2452,"children":2453},{"style":149},[2454],{"type":60,"value":2435},{"type":54,"tag":120,"props":2456,"children":2457},{"style":139},[2458],{"type":60,"value":933},{"type":54,"tag":120,"props":2460,"children":2462},{"class":122,"line":2461},73,[2463,2467,2471,2476,2480,2484,2489,2493,2498,2503,2508,2512,2517,2521,2526,2530,2534,2538,2542,2547,2551],{"type":54,"tag":120,"props":2464,"children":2465},{"style":139},[2466],{"type":60,"value":1880},{"type":54,"tag":120,"props":2468,"children":2469},{"style":149},[2470],{"type":60,"value":63},{"type":54,"tag":120,"props":2472,"children":2473},{"style":127},[2474],{"type":60,"value":2475}," className",{"type":54,"tag":120,"props":2477,"children":2478},{"style":139},[2479],{"type":60,"value":1909},{"type":54,"tag":120,"props":2481,"children":2482},{"style":139},[2483],{"type":60,"value":1914},{"type":54,"tag":120,"props":2485,"children":2486},{"style":183},[2487],{"type":60,"value":2488},"whitespace-pre-wrap",{"type":54,"tag":120,"props":2490,"children":2491},{"style":139},[2492],{"type":60,"value":1914},{"type":54,"tag":120,"props":2494,"children":2495},{"style":139},[2496],{"type":60,"value":2497},">{",{"type":54,"tag":120,"props":2499,"children":2500},{"style":230},[2501],{"type":60,"value":2502},"(part ",{"type":54,"tag":120,"props":2504,"children":2505},{"style":338},[2506],{"type":60,"value":2507},"as",{"type":54,"tag":120,"props":2509,"children":2510},{"style":139},[2511],{"type":60,"value":346},{"type":54,"tag":120,"props":2513,"children":2514},{"style":149},[2515],{"type":60,"value":2516}," text",{"type":54,"tag":120,"props":2518,"children":2519},{"style":139},[2520],{"type":60,"value":157},{"type":54,"tag":120,"props":2522,"children":2523},{"style":133},[2524],{"type":60,"value":2525}," string",{"type":54,"tag":120,"props":2527,"children":2528},{"style":139},[2529],{"type":60,"value":356},{"type":54,"tag":120,"props":2531,"children":2532},{"style":230},[2533],{"type":60,"value":462},{"type":54,"tag":120,"props":2535,"children":2536},{"style":139},[2537],{"type":60,"value":436},{"type":54,"tag":120,"props":2539,"children":2540},{"style":230},[2541],{"type":60,"value":60},{"type":54,"tag":120,"props":2543,"children":2544},{"style":139},[2545],{"type":60,"value":2546},"}\u003C\u002F",{"type":54,"tag":120,"props":2548,"children":2549},{"style":149},[2550],{"type":60,"value":63},{"type":54,"tag":120,"props":2552,"children":2553},{"style":139},[2554],{"type":60,"value":933},{"type":54,"tag":120,"props":2556,"children":2558},{"class":122,"line":2557},74,[2559,2563,2567],{"type":54,"tag":120,"props":2560,"children":2561},{"style":139},[2562],{"type":60,"value":1343},{"type":54,"tag":120,"props":2564,"children":2565},{"style":149},[2566],{"type":60,"value":2381},{"type":54,"tag":120,"props":2568,"children":2569},{"style":139},[2570],{"type":60,"value":933},{"type":54,"tag":120,"props":2572,"children":2574},{"class":122,"line":2573},75,[2575],{"type":54,"tag":120,"props":2576,"children":2577},{"style":149},[2578],{"type":60,"value":1360},{"type":54,"tag":120,"props":2580,"children":2582},{"class":122,"line":2581},76,[2583],{"type":54,"tag":120,"props":2584,"children":2585},{"style":139},[2586],{"type":60,"value":1369},{"type":54,"tag":120,"props":2588,"children":2590},{"class":122,"line":2589},77,[2591],{"type":54,"tag":120,"props":2592,"children":2593},{"emptyLinePlaceholder":249},[2594],{"type":60,"value":252},{"type":54,"tag":120,"props":2596,"children":2598},{"class":122,"line":2597},78,[2599],{"type":54,"tag":120,"props":2600,"children":2601},{"style":259},[2602],{"type":60,"value":2603},"            \u002F\u002F 4. Skip unknown types (step-start, etc.)\n",{"type":54,"tag":120,"props":2605,"children":2607},{"class":122,"line":2606},79,[2608,2613],{"type":54,"tag":120,"props":2609,"children":2610},{"style":338},[2611],{"type":60,"value":2612},"            return",{"type":54,"tag":120,"props":2614,"children":2615},{"style":139},[2616],{"type":60,"value":2617}," null\n",{"type":54,"tag":120,"props":2619,"children":2621},{"class":122,"line":2620},80,[2622,2627,2631],{"type":54,"tag":120,"props":2623,"children":2624},{"style":139},[2625],{"type":60,"value":2626},"          }",{"type":54,"tag":120,"props":2628,"children":2629},{"style":230},[2630],{"type":60,"value":462},{"type":54,"tag":120,"props":2632,"children":2633},{"style":139},[2634],{"type":60,"value":242},{"type":54,"tag":120,"props":2636,"children":2638},{"class":122,"line":2637},81,[2639,2644,2648],{"type":54,"tag":120,"props":2640,"children":2641},{"style":139},[2642],{"type":60,"value":2643},"        \u003C\u002F",{"type":54,"tag":120,"props":2645,"children":2646},{"style":149},[2647],{"type":60,"value":928},{"type":54,"tag":120,"props":2649,"children":2650},{"style":139},[2651],{"type":60,"value":933},{"type":54,"tag":120,"props":2653,"children":2655},{"class":122,"line":2654},82,[2656,2661],{"type":54,"tag":120,"props":2657,"children":2658},{"style":230},[2659],{"type":60,"value":2660},"      ))",{"type":54,"tag":120,"props":2662,"children":2663},{"style":139},[2664],{"type":60,"value":242},{"type":54,"tag":120,"props":2666,"children":2668},{"class":122,"line":2667},83,[2669,2674,2678],{"type":54,"tag":120,"props":2670,"children":2671},{"style":139},[2672],{"type":60,"value":2673},"    \u003C\u002F",{"type":54,"tag":120,"props":2675,"children":2676},{"style":149},[2677],{"type":60,"value":928},{"type":54,"tag":120,"props":2679,"children":2680},{"style":139},[2681],{"type":60,"value":933},{"type":54,"tag":120,"props":2683,"children":2685},{"class":122,"line":2684},84,[2686],{"type":54,"tag":120,"props":2687,"children":2688},{"style":149},[2689],{"type":60,"value":2690},"  )\n",{"type":54,"tag":120,"props":2692,"children":2694},{"class":122,"line":2693},85,[2695],{"type":54,"tag":120,"props":2696,"children":2697},{"style":139},[2698],{"type":60,"value":242},{"type":54,"tag":69,"props":2700,"children":2702},{"id":2701},"rendering-tool-results-as-cards",[2703],{"type":60,"value":2704},"Rendering Tool Results as Cards",{"type":54,"tag":63,"props":2706,"children":2707},{},[2708],{"type":60,"value":2709},"Instead of dumping raw JSON, render structured tool output as human-readable cards:",{"type":54,"tag":109,"props":2711,"children":2713},{"className":326,"code":2712,"language":328,"meta":114,"style":114},"function ToolResultCard({ name, output }: { name: string; output: unknown }) {\n  const data = output as Record\u003Cstring, unknown>\n\n  \u002F\u002F Pattern: Check for known result shapes and render accordingly\n  if (data?.success && data?.issue) {\n    const issue = data.issue as { identifier?: string; title?: string }\n    return (\n      \u003Cdiv className=\"rounded border border-border bg-card p-2 text-sm\">\n        \u003Cspan className=\"font-medium text-green-400\">\n          {name === 'createIssue' ? 'Created' : 'Updated'} {issue.identifier}\n        \u003C\u002Fspan>\n        \u003Cp className=\"text-muted-foreground\">{issue.title}\u003C\u002Fp>\n      \u003C\u002Fdiv>\n    )\n  }\n\n  if (data?.items && Array.isArray(data.items)) {\n    return (\n      \u003Cdiv className=\"rounded border border-border bg-card p-2 text-sm\">\n        \u003Cp className=\"font-medium\">{data.items.length} results\u003C\u002Fp>\n        {data.items.slice(0, 5).map((item: Record\u003Cstring, unknown>, i: number) => (\n          \u003Cp key={i} className=\"text-muted-foreground\">{String(item.name || item.title || item.id)}\u003C\u002Fp>\n        ))}\n      \u003C\u002Fdiv>\n    )\n  }\n\n  if (data?.error) {\n    return (\n      \u003Cdiv className=\"rounded border border-destructive\u002F30 bg-destructive\u002F10 p-2 text-sm text-destructive\">\n        {String(data.error)}\n      \u003C\u002Fdiv>\n    )\n  }\n\n  \u002F\u002F Fallback: simple completion message (not raw JSON)\n  return (\n    \u003Cdiv className=\"rounded border border-border bg-card p-2 text-xs text-muted-foreground\">\n      {name} completed\n    \u003C\u002Fdiv>\n  )\n}\n",[2714],{"type":54,"tag":92,"props":2715,"children":2716},{"__ignoreMap":114},[2717,2797,2848,2855,2863,2914,2986,2998,3035,3071,3161,3176,3237,3253,3261,3269,3276,3342,3353,3388,3466,3593,3711,3723,3738,3745,3752,3759,3791,3802,3838,3867,3882,3889,3896,3903,3911,3922,3958,3978,3993,4000],{"type":54,"tag":120,"props":2718,"children":2719},{"class":122,"line":123},[2720,2725,2730,2735,2740,2744,2749,2754,2758,2762,2766,2770,2775,2779,2783,2788,2793],{"type":54,"tag":120,"props":2721,"children":2722},{"style":127},[2723],{"type":60,"value":2724},"function",{"type":54,"tag":120,"props":2726,"children":2727},{"style":439},[2728],{"type":60,"value":2729}," ToolResultCard",{"type":54,"tag":120,"props":2731,"children":2732},{"style":139},[2733],{"type":60,"value":2734},"({",{"type":54,"tag":120,"props":2736,"children":2737},{"style":454},[2738],{"type":60,"value":2739}," name",{"type":54,"tag":120,"props":2741,"children":2742},{"style":139},[2743],{"type":60,"value":711},{"type":54,"tag":120,"props":2745,"children":2746},{"style":454},[2747],{"type":60,"value":2748}," output",{"type":54,"tag":120,"props":2750,"children":2751},{"style":139},[2752],{"type":60,"value":2753}," }:",{"type":54,"tag":120,"props":2755,"children":2756},{"style":139},[2757],{"type":60,"value":346},{"type":54,"tag":120,"props":2759,"children":2760},{"style":149},[2761],{"type":60,"value":2739},{"type":54,"tag":120,"props":2763,"children":2764},{"style":139},[2765],{"type":60,"value":157},{"type":54,"tag":120,"props":2767,"children":2768},{"style":133},[2769],{"type":60,"value":2525},{"type":54,"tag":120,"props":2771,"children":2772},{"style":139},[2773],{"type":60,"value":2774},";",{"type":54,"tag":120,"props":2776,"children":2777},{"style":149},[2778],{"type":60,"value":2748},{"type":54,"tag":120,"props":2780,"children":2781},{"style":139},[2782],{"type":60,"value":157},{"type":54,"tag":120,"props":2784,"children":2785},{"style":133},[2786],{"type":60,"value":2787}," unknown",{"type":54,"tag":120,"props":2789,"children":2790},{"style":139},[2791],{"type":60,"value":2792}," })",{"type":54,"tag":120,"props":2794,"children":2795},{"style":139},[2796],{"type":60,"value":142},{"type":54,"tag":120,"props":2798,"children":2799},{"class":122,"line":145},[2800,2804,2809,2813,2817,2821,2826,2831,2836,2840,2844],{"type":54,"tag":120,"props":2801,"children":2802},{"style":127},[2803],{"type":60,"value":697},{"type":54,"tag":120,"props":2805,"children":2806},{"style":230},[2807],{"type":60,"value":2808}," data",{"type":54,"tag":120,"props":2810,"children":2811},{"style":139},[2812],{"type":60,"value":734},{"type":54,"tag":120,"props":2814,"children":2815},{"style":230},[2816],{"type":60,"value":2748},{"type":54,"tag":120,"props":2818,"children":2819},{"style":338},[2820],{"type":60,"value":1472},{"type":54,"tag":120,"props":2822,"children":2823},{"style":133},[2824],{"type":60,"value":2825}," Record",{"type":54,"tag":120,"props":2827,"children":2828},{"style":139},[2829],{"type":60,"value":2830},"\u003C",{"type":54,"tag":120,"props":2832,"children":2833},{"style":133},[2834],{"type":60,"value":2835},"string",{"type":54,"tag":120,"props":2837,"children":2838},{"style":139},[2839],{"type":60,"value":711},{"type":54,"tag":120,"props":2841,"children":2842},{"style":133},[2843],{"type":60,"value":2787},{"type":54,"tag":120,"props":2845,"children":2846},{"style":139},[2847],{"type":60,"value":933},{"type":54,"tag":120,"props":2849,"children":2850},{"class":122,"line":165},[2851],{"type":54,"tag":120,"props":2852,"children":2853},{"emptyLinePlaceholder":249},[2854],{"type":60,"value":252},{"type":54,"tag":120,"props":2856,"children":2857},{"class":122,"line":36},[2858],{"type":54,"tag":120,"props":2859,"children":2860},{"style":259},[2861],{"type":60,"value":2862},"  \u002F\u002F Pattern: Check for known result shapes and render accordingly\n",{"type":54,"tag":120,"props":2864,"children":2865},{"class":122,"line":236},[2866,2871,2875,2880,2884,2889,2893,2897,2901,2906,2910],{"type":54,"tag":120,"props":2867,"children":2868},{"style":338},[2869],{"type":60,"value":2870},"  if",{"type":54,"tag":120,"props":2872,"children":2873},{"style":149},[2874],{"type":60,"value":1103},{"type":54,"tag":120,"props":2876,"children":2877},{"style":230},[2878],{"type":60,"value":2879},"data",{"type":54,"tag":120,"props":2881,"children":2882},{"style":139},[2883],{"type":60,"value":1042},{"type":54,"tag":120,"props":2885,"children":2886},{"style":230},[2887],{"type":60,"value":2888},"success",{"type":54,"tag":120,"props":2890,"children":2891},{"style":139},[2892],{"type":60,"value":1137},{"type":54,"tag":120,"props":2894,"children":2895},{"style":230},[2896],{"type":60,"value":2808},{"type":54,"tag":120,"props":2898,"children":2899},{"style":139},[2900],{"type":60,"value":1042},{"type":54,"tag":120,"props":2902,"children":2903},{"style":230},[2904],{"type":60,"value":2905},"issue",{"type":54,"tag":120,"props":2907,"children":2908},{"style":149},[2909],{"type":60,"value":1713},{"type":54,"tag":120,"props":2911,"children":2912},{"style":139},[2913],{"type":60,"value":747},{"type":54,"tag":120,"props":2915,"children":2916},{"class":122,"line":245},[2917,2922,2927,2931,2935,2939,2943,2947,2951,2956,2960,2964,2968,2973,2977,2981],{"type":54,"tag":120,"props":2918,"children":2919},{"style":127},[2920],{"type":60,"value":2921},"    const",{"type":54,"tag":120,"props":2923,"children":2924},{"style":230},[2925],{"type":60,"value":2926}," issue",{"type":54,"tag":120,"props":2928,"children":2929},{"style":139},[2930],{"type":60,"value":734},{"type":54,"tag":120,"props":2932,"children":2933},{"style":230},[2934],{"type":60,"value":2808},{"type":54,"tag":120,"props":2936,"children":2937},{"style":139},[2938],{"type":60,"value":436},{"type":54,"tag":120,"props":2940,"children":2941},{"style":230},[2942],{"type":60,"value":2905},{"type":54,"tag":120,"props":2944,"children":2945},{"style":338},[2946],{"type":60,"value":1472},{"type":54,"tag":120,"props":2948,"children":2949},{"style":139},[2950],{"type":60,"value":346},{"type":54,"tag":120,"props":2952,"children":2953},{"style":149},[2954],{"type":60,"value":2955}," identifier",{"type":54,"tag":120,"props":2957,"children":2958},{"style":139},[2959],{"type":60,"value":1541},{"type":54,"tag":120,"props":2961,"children":2962},{"style":133},[2963],{"type":60,"value":2525},{"type":54,"tag":120,"props":2965,"children":2966},{"style":139},[2967],{"type":60,"value":2774},{"type":54,"tag":120,"props":2969,"children":2970},{"style":149},[2971],{"type":60,"value":2972}," title",{"type":54,"tag":120,"props":2974,"children":2975},{"style":139},[2976],{"type":60,"value":1541},{"type":54,"tag":120,"props":2978,"children":2979},{"style":133},[2980],{"type":60,"value":2525},{"type":54,"tag":120,"props":2982,"children":2983},{"style":139},[2984],{"type":60,"value":2985}," }\n",{"type":54,"tag":120,"props":2987,"children":2988},{"class":122,"line":255},[2989,2994],{"type":54,"tag":120,"props":2990,"children":2991},{"style":338},[2992],{"type":60,"value":2993},"    return",{"type":54,"tag":120,"props":2995,"children":2996},{"style":149},[2997],{"type":60,"value":472},{"type":54,"tag":120,"props":2999,"children":3000},{"class":122,"line":265},[3001,3006,3010,3014,3018,3022,3027,3031],{"type":54,"tag":120,"props":3002,"children":3003},{"style":139},[3004],{"type":60,"value":3005},"      \u003C",{"type":54,"tag":120,"props":3007,"children":3008},{"style":149},[3009],{"type":60,"value":928},{"type":54,"tag":120,"props":3011,"children":3012},{"style":127},[3013],{"type":60,"value":2475},{"type":54,"tag":120,"props":3015,"children":3016},{"style":139},[3017],{"type":60,"value":1909},{"type":54,"tag":120,"props":3019,"children":3020},{"style":139},[3021],{"type":60,"value":1914},{"type":54,"tag":120,"props":3023,"children":3024},{"style":183},[3025],{"type":60,"value":3026},"rounded border border-border bg-card p-2 text-sm",{"type":54,"tag":120,"props":3028,"children":3029},{"style":139},[3030],{"type":60,"value":1914},{"type":54,"tag":120,"props":3032,"children":3033},{"style":139},[3034],{"type":60,"value":933},{"type":54,"tag":120,"props":3036,"children":3037},{"class":122,"line":274},[3038,3042,3046,3050,3054,3058,3063,3067],{"type":54,"tag":120,"props":3039,"children":3040},{"style":139},[3041],{"type":60,"value":987},{"type":54,"tag":120,"props":3043,"children":3044},{"style":149},[3045],{"type":60,"value":120},{"type":54,"tag":120,"props":3047,"children":3048},{"style":127},[3049],{"type":60,"value":2475},{"type":54,"tag":120,"props":3051,"children":3052},{"style":139},[3053],{"type":60,"value":1909},{"type":54,"tag":120,"props":3055,"children":3056},{"style":139},[3057],{"type":60,"value":1914},{"type":54,"tag":120,"props":3059,"children":3060},{"style":183},[3061],{"type":60,"value":3062},"font-medium text-green-400",{"type":54,"tag":120,"props":3064,"children":3065},{"style":139},[3066],{"type":60,"value":1914},{"type":54,"tag":120,"props":3068,"children":3069},{"style":139},[3070],{"type":60,"value":933},{"type":54,"tag":120,"props":3072,"children":3073},{"class":122,"line":283},[3074,3078,3083,3087,3091,3096,3100,3105,3109,3114,3118,3123,3127,3132,3136,3140,3144,3148,3152,3157],{"type":54,"tag":120,"props":3075,"children":3076},{"style":139},[3077],{"type":60,"value":1025},{"type":54,"tag":120,"props":3079,"children":3080},{"style":230},[3081],{"type":60,"value":3082},"name ",{"type":54,"tag":120,"props":3084,"children":3085},{"style":139},[3086],{"type":60,"value":1244},{"type":54,"tag":120,"props":3088,"children":3089},{"style":139},[3090],{"type":60,"value":180},{"type":54,"tag":120,"props":3092,"children":3093},{"style":183},[3094],{"type":60,"value":3095},"createIssue",{"type":54,"tag":120,"props":3097,"children":3098},{"style":139},[3099],{"type":60,"value":191},{"type":54,"tag":120,"props":3101,"children":3102},{"style":139},[3103],{"type":60,"value":3104}," ?",{"type":54,"tag":120,"props":3106,"children":3107},{"style":139},[3108],{"type":60,"value":180},{"type":54,"tag":120,"props":3110,"children":3111},{"style":183},[3112],{"type":60,"value":3113},"Created",{"type":54,"tag":120,"props":3115,"children":3116},{"style":139},[3117],{"type":60,"value":191},{"type":54,"tag":120,"props":3119,"children":3120},{"style":139},[3121],{"type":60,"value":3122}," :",{"type":54,"tag":120,"props":3124,"children":3125},{"style":139},[3126],{"type":60,"value":180},{"type":54,"tag":120,"props":3128,"children":3129},{"style":183},[3130],{"type":60,"value":3131},"Updated",{"type":54,"tag":120,"props":3133,"children":3134},{"style":139},[3135],{"type":60,"value":191},{"type":54,"tag":120,"props":3137,"children":3138},{"style":139},[3139],{"type":60,"value":1945},{"type":54,"tag":120,"props":3141,"children":3142},{"style":139},[3143],{"type":60,"value":346},{"type":54,"tag":120,"props":3145,"children":3146},{"style":230},[3147],{"type":60,"value":2905},{"type":54,"tag":120,"props":3149,"children":3150},{"style":139},[3151],{"type":60,"value":436},{"type":54,"tag":120,"props":3153,"children":3154},{"style":230},[3155],{"type":60,"value":3156},"identifier",{"type":54,"tag":120,"props":3158,"children":3159},{"style":139},[3160],{"type":60,"value":242},{"type":54,"tag":120,"props":3162,"children":3163},{"class":122,"line":292},[3164,3168,3172],{"type":54,"tag":120,"props":3165,"children":3166},{"style":139},[3167],{"type":60,"value":2643},{"type":54,"tag":120,"props":3169,"children":3170},{"style":149},[3171],{"type":60,"value":120},{"type":54,"tag":120,"props":3173,"children":3174},{"style":139},[3175],{"type":60,"value":933},{"type":54,"tag":120,"props":3177,"children":3178},{"class":122,"line":301},[3179,3183,3187,3191,3195,3199,3204,3208,3212,3216,3220,3225,3229,3233],{"type":54,"tag":120,"props":3180,"children":3181},{"style":139},[3182],{"type":60,"value":987},{"type":54,"tag":120,"props":3184,"children":3185},{"style":149},[3186],{"type":60,"value":63},{"type":54,"tag":120,"props":3188,"children":3189},{"style":127},[3190],{"type":60,"value":2475},{"type":54,"tag":120,"props":3192,"children":3193},{"style":139},[3194],{"type":60,"value":1909},{"type":54,"tag":120,"props":3196,"children":3197},{"style":139},[3198],{"type":60,"value":1914},{"type":54,"tag":120,"props":3200,"children":3201},{"style":183},[3202],{"type":60,"value":3203},"text-muted-foreground",{"type":54,"tag":120,"props":3205,"children":3206},{"style":139},[3207],{"type":60,"value":1914},{"type":54,"tag":120,"props":3209,"children":3210},{"style":139},[3211],{"type":60,"value":2497},{"type":54,"tag":120,"props":3213,"children":3214},{"style":230},[3215],{"type":60,"value":2905},{"type":54,"tag":120,"props":3217,"children":3218},{"style":139},[3219],{"type":60,"value":436},{"type":54,"tag":120,"props":3221,"children":3222},{"style":230},[3223],{"type":60,"value":3224},"title",{"type":54,"tag":120,"props":3226,"children":3227},{"style":139},[3228],{"type":60,"value":2546},{"type":54,"tag":120,"props":3230,"children":3231},{"style":149},[3232],{"type":60,"value":63},{"type":54,"tag":120,"props":3234,"children":3235},{"style":139},[3236],{"type":60,"value":933},{"type":54,"tag":120,"props":3238,"children":3239},{"class":122,"line":917},[3240,3245,3249],{"type":54,"tag":120,"props":3241,"children":3242},{"style":139},[3243],{"type":60,"value":3244},"      \u003C\u002F",{"type":54,"tag":120,"props":3246,"children":3247},{"style":149},[3248],{"type":60,"value":928},{"type":54,"tag":120,"props":3250,"children":3251},{"style":139},[3252],{"type":60,"value":933},{"type":54,"tag":120,"props":3254,"children":3255},{"class":122,"line":936},[3256],{"type":54,"tag":120,"props":3257,"children":3258},{"style":149},[3259],{"type":60,"value":3260},"    )\n",{"type":54,"tag":120,"props":3262,"children":3263},{"class":122,"line":981},[3264],{"type":54,"tag":120,"props":3265,"children":3266},{"style":139},[3267],{"type":60,"value":3268},"  }\n",{"type":54,"tag":120,"props":3270,"children":3271},{"class":122,"line":1019},[3272],{"type":54,"tag":120,"props":3273,"children":3274},{"emptyLinePlaceholder":249},[3275],{"type":60,"value":252},{"type":54,"tag":120,"props":3277,"children":3278},{"class":122,"line":1083},[3279,3283,3287,3291,3295,3300,3304,3309,3313,3318,3322,3326,3330,3334,3338],{"type":54,"tag":120,"props":3280,"children":3281},{"style":338},[3282],{"type":60,"value":2870},{"type":54,"tag":120,"props":3284,"children":3285},{"style":149},[3286],{"type":60,"value":1103},{"type":54,"tag":120,"props":3288,"children":3289},{"style":230},[3290],{"type":60,"value":2879},{"type":54,"tag":120,"props":3292,"children":3293},{"style":139},[3294],{"type":60,"value":1042},{"type":54,"tag":120,"props":3296,"children":3297},{"style":230},[3298],{"type":60,"value":3299},"items",{"type":54,"tag":120,"props":3301,"children":3302},{"style":139},[3303],{"type":60,"value":1137},{"type":54,"tag":120,"props":3305,"children":3306},{"style":230},[3307],{"type":60,"value":3308}," Array",{"type":54,"tag":120,"props":3310,"children":3311},{"style":139},[3312],{"type":60,"value":436},{"type":54,"tag":120,"props":3314,"children":3315},{"style":439},[3316],{"type":60,"value":3317},"isArray",{"type":54,"tag":120,"props":3319,"children":3320},{"style":149},[3321],{"type":60,"value":447},{"type":54,"tag":120,"props":3323,"children":3324},{"style":230},[3325],{"type":60,"value":2879},{"type":54,"tag":120,"props":3327,"children":3328},{"style":139},[3329],{"type":60,"value":436},{"type":54,"tag":120,"props":3331,"children":3332},{"style":230},[3333],{"type":60,"value":3299},{"type":54,"tag":120,"props":3335,"children":3336},{"style":149},[3337],{"type":60,"value":1441},{"type":54,"tag":120,"props":3339,"children":3340},{"style":139},[3341],{"type":60,"value":747},{"type":54,"tag":120,"props":3343,"children":3344},{"class":122,"line":1092},[3345,3349],{"type":54,"tag":120,"props":3346,"children":3347},{"style":338},[3348],{"type":60,"value":2993},{"type":54,"tag":120,"props":3350,"children":3351},{"style":149},[3352],{"type":60,"value":472},{"type":54,"tag":120,"props":3354,"children":3355},{"class":122,"line":1171},[3356,3360,3364,3368,3372,3376,3380,3384],{"type":54,"tag":120,"props":3357,"children":3358},{"style":139},[3359],{"type":60,"value":3005},{"type":54,"tag":120,"props":3361,"children":3362},{"style":149},[3363],{"type":60,"value":928},{"type":54,"tag":120,"props":3365,"children":3366},{"style":127},[3367],{"type":60,"value":2475},{"type":54,"tag":120,"props":3369,"children":3370},{"style":139},[3371],{"type":60,"value":1909},{"type":54,"tag":120,"props":3373,"children":3374},{"style":139},[3375],{"type":60,"value":1914},{"type":54,"tag":120,"props":3377,"children":3378},{"style":183},[3379],{"type":60,"value":3026},{"type":54,"tag":120,"props":3381,"children":3382},{"style":139},[3383],{"type":60,"value":1914},{"type":54,"tag":120,"props":3385,"children":3386},{"style":139},[3387],{"type":60,"value":933},{"type":54,"tag":120,"props":3389,"children":3390},{"class":122,"line":1184},[3391,3395,3399,3403,3407,3411,3416,3420,3424,3428,3432,3436,3440,3445,3449,3454,3458,3462],{"type":54,"tag":120,"props":3392,"children":3393},{"style":139},[3394],{"type":60,"value":987},{"type":54,"tag":120,"props":3396,"children":3397},{"style":149},[3398],{"type":60,"value":63},{"type":54,"tag":120,"props":3400,"children":3401},{"style":127},[3402],{"type":60,"value":2475},{"type":54,"tag":120,"props":3404,"children":3405},{"style":139},[3406],{"type":60,"value":1909},{"type":54,"tag":120,"props":3408,"children":3409},{"style":139},[3410],{"type":60,"value":1914},{"type":54,"tag":120,"props":3412,"children":3413},{"style":183},[3414],{"type":60,"value":3415},"font-medium",{"type":54,"tag":120,"props":3417,"children":3418},{"style":139},[3419],{"type":60,"value":1914},{"type":54,"tag":120,"props":3421,"children":3422},{"style":139},[3423],{"type":60,"value":2497},{"type":54,"tag":120,"props":3425,"children":3426},{"style":230},[3427],{"type":60,"value":2879},{"type":54,"tag":120,"props":3429,"children":3430},{"style":139},[3431],{"type":60,"value":436},{"type":54,"tag":120,"props":3433,"children":3434},{"style":230},[3435],{"type":60,"value":3299},{"type":54,"tag":120,"props":3437,"children":3438},{"style":139},[3439],{"type":60,"value":436},{"type":54,"tag":120,"props":3441,"children":3442},{"style":230},[3443],{"type":60,"value":3444},"length",{"type":54,"tag":120,"props":3446,"children":3447},{"style":139},[3448],{"type":60,"value":1945},{"type":54,"tag":120,"props":3450,"children":3451},{"style":230},[3452],{"type":60,"value":3453}," results",{"type":54,"tag":120,"props":3455,"children":3456},{"style":139},[3457],{"type":60,"value":2450},{"type":54,"tag":120,"props":3459,"children":3460},{"style":149},[3461],{"type":60,"value":63},{"type":54,"tag":120,"props":3463,"children":3464},{"style":139},[3465],{"type":60,"value":933},{"type":54,"tag":120,"props":3467,"children":3468},{"class":122,"line":1224},[3469,3474,3478,3482,3486,3490,3495,3499,3505,3509,3514,3518,3522,3526,3530,3534,3539,3543,3547,3551,3555,3559,3563,3568,3572,3576,3581,3585,3589],{"type":54,"tag":120,"props":3470,"children":3471},{"style":139},[3472],{"type":60,"value":3473},"        {",{"type":54,"tag":120,"props":3475,"children":3476},{"style":230},[3477],{"type":60,"value":2879},{"type":54,"tag":120,"props":3479,"children":3480},{"style":139},[3481],{"type":60,"value":436},{"type":54,"tag":120,"props":3483,"children":3484},{"style":230},[3485],{"type":60,"value":3299},{"type":54,"tag":120,"props":3487,"children":3488},{"style":139},[3489],{"type":60,"value":436},{"type":54,"tag":120,"props":3491,"children":3492},{"style":439},[3493],{"type":60,"value":3494},"slice",{"type":54,"tag":120,"props":3496,"children":3497},{"style":230},[3498],{"type":60,"value":447},{"type":54,"tag":120,"props":3500,"children":3502},{"style":3501},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[3503],{"type":60,"value":3504},"0",{"type":54,"tag":120,"props":3506,"children":3507},{"style":139},[3508],{"type":60,"value":711},{"type":54,"tag":120,"props":3510,"children":3511},{"style":3501},[3512],{"type":60,"value":3513}," 5",{"type":54,"tag":120,"props":3515,"children":3516},{"style":230},[3517],{"type":60,"value":462},{"type":54,"tag":120,"props":3519,"children":3520},{"style":139},[3521],{"type":60,"value":436},{"type":54,"tag":120,"props":3523,"children":3524},{"style":439},[3525],{"type":60,"value":442},{"type":54,"tag":120,"props":3527,"children":3528},{"style":230},[3529],{"type":60,"value":447},{"type":54,"tag":120,"props":3531,"children":3532},{"style":139},[3533],{"type":60,"value":447},{"type":54,"tag":120,"props":3535,"children":3536},{"style":454},[3537],{"type":60,"value":3538},"item",{"type":54,"tag":120,"props":3540,"children":3541},{"style":139},[3542],{"type":60,"value":157},{"type":54,"tag":120,"props":3544,"children":3545},{"style":133},[3546],{"type":60,"value":2825},{"type":54,"tag":120,"props":3548,"children":3549},{"style":139},[3550],{"type":60,"value":2830},{"type":54,"tag":120,"props":3552,"children":3553},{"style":133},[3554],{"type":60,"value":2835},{"type":54,"tag":120,"props":3556,"children":3557},{"style":139},[3558],{"type":60,"value":711},{"type":54,"tag":120,"props":3560,"children":3561},{"style":133},[3562],{"type":60,"value":2787},{"type":54,"tag":120,"props":3564,"children":3565},{"style":139},[3566],{"type":60,"value":3567},">,",{"type":54,"tag":120,"props":3569,"children":3570},{"style":454},[3571],{"type":60,"value":1068},{"type":54,"tag":120,"props":3573,"children":3574},{"style":139},[3575],{"type":60,"value":157},{"type":54,"tag":120,"props":3577,"children":3578},{"style":133},[3579],{"type":60,"value":3580}," number",{"type":54,"tag":120,"props":3582,"children":3583},{"style":139},[3584],{"type":60,"value":462},{"type":54,"tag":120,"props":3586,"children":3587},{"style":127},[3588],{"type":60,"value":467},{"type":54,"tag":120,"props":3590,"children":3591},{"style":230},[3592],{"type":60,"value":472},{"type":54,"tag":120,"props":3594,"children":3595},{"class":122,"line":1259},[3596,3601,3605,3609,3613,3617,3621,3625,3629,3633,3637,3641,3645,3650,3655,3659,3663,3668,3673,3677,3682,3686,3690,3694,3699,3703,3707],{"type":54,"tag":120,"props":3597,"children":3598},{"style":139},[3599],{"type":60,"value":3600},"          \u003C",{"type":54,"tag":120,"props":3602,"children":3603},{"style":149},[3604],{"type":60,"value":63},{"type":54,"tag":120,"props":3606,"children":3607},{"style":127},[3608],{"type":60,"value":490},{"type":54,"tag":120,"props":3610,"children":3611},{"style":139},[3612],{"type":60,"value":495},{"type":54,"tag":120,"props":3614,"children":3615},{"style":230},[3616],{"type":60,"value":1207},{"type":54,"tag":120,"props":3618,"children":3619},{"style":139},[3620],{"type":60,"value":513},{"type":54,"tag":120,"props":3622,"children":3623},{"style":127},[3624],{"type":60,"value":1216},{"type":54,"tag":120,"props":3626,"children":3627},{"style":139},[3628],{"type":60,"value":1909},{"type":54,"tag":120,"props":3630,"children":3631},{"style":139},[3632],{"type":60,"value":1914},{"type":54,"tag":120,"props":3634,"children":3635},{"style":183},[3636],{"type":60,"value":3203},{"type":54,"tag":120,"props":3638,"children":3639},{"style":139},[3640],{"type":60,"value":1914},{"type":54,"tag":120,"props":3642,"children":3643},{"style":139},[3644],{"type":60,"value":2497},{"type":54,"tag":120,"props":3646,"children":3647},{"style":439},[3648],{"type":60,"value":3649},"String",{"type":54,"tag":120,"props":3651,"children":3652},{"style":230},[3653],{"type":60,"value":3654},"(item",{"type":54,"tag":120,"props":3656,"children":3657},{"style":139},[3658],{"type":60,"value":436},{"type":54,"tag":120,"props":3660,"children":3661},{"style":230},[3662],{"type":60,"value":3082},{"type":54,"tag":120,"props":3664,"children":3665},{"style":139},[3666],{"type":60,"value":3667},"||",{"type":54,"tag":120,"props":3669,"children":3670},{"style":230},[3671],{"type":60,"value":3672}," item",{"type":54,"tag":120,"props":3674,"children":3675},{"style":139},[3676],{"type":60,"value":436},{"type":54,"tag":120,"props":3678,"children":3679},{"style":230},[3680],{"type":60,"value":3681},"title ",{"type":54,"tag":120,"props":3683,"children":3684},{"style":139},[3685],{"type":60,"value":3667},{"type":54,"tag":120,"props":3687,"children":3688},{"style":230},[3689],{"type":60,"value":3672},{"type":54,"tag":120,"props":3691,"children":3692},{"style":139},[3693],{"type":60,"value":436},{"type":54,"tag":120,"props":3695,"children":3696},{"style":230},[3697],{"type":60,"value":3698},"id)",{"type":54,"tag":120,"props":3700,"children":3701},{"style":139},[3702],{"type":60,"value":2546},{"type":54,"tag":120,"props":3704,"children":3705},{"style":149},[3706],{"type":60,"value":63},{"type":54,"tag":120,"props":3708,"children":3709},{"style":139},[3710],{"type":60,"value":933},{"type":54,"tag":120,"props":3712,"children":3713},{"class":122,"line":1281},[3714,3719],{"type":54,"tag":120,"props":3715,"children":3716},{"style":230},[3717],{"type":60,"value":3718},"        ))",{"type":54,"tag":120,"props":3720,"children":3721},{"style":139},[3722],{"type":60,"value":242},{"type":54,"tag":120,"props":3724,"children":3725},{"class":122,"line":1303},[3726,3730,3734],{"type":54,"tag":120,"props":3727,"children":3728},{"style":139},[3729],{"type":60,"value":3244},{"type":54,"tag":120,"props":3731,"children":3732},{"style":149},[3733],{"type":60,"value":928},{"type":54,"tag":120,"props":3735,"children":3736},{"style":139},[3737],{"type":60,"value":933},{"type":54,"tag":120,"props":3739,"children":3740},{"class":122,"line":1312},[3741],{"type":54,"tag":120,"props":3742,"children":3743},{"style":149},[3744],{"type":60,"value":3260},{"type":54,"tag":120,"props":3746,"children":3747},{"class":122,"line":1337},[3748],{"type":54,"tag":120,"props":3749,"children":3750},{"style":139},[3751],{"type":60,"value":3268},{"type":54,"tag":120,"props":3753,"children":3754},{"class":122,"line":1354},[3755],{"type":54,"tag":120,"props":3756,"children":3757},{"emptyLinePlaceholder":249},[3758],{"type":60,"value":252},{"type":54,"tag":120,"props":3760,"children":3761},{"class":122,"line":1363},[3762,3766,3770,3774,3778,3783,3787],{"type":54,"tag":120,"props":3763,"children":3764},{"style":338},[3765],{"type":60,"value":2870},{"type":54,"tag":120,"props":3767,"children":3768},{"style":149},[3769],{"type":60,"value":1103},{"type":54,"tag":120,"props":3771,"children":3772},{"style":230},[3773],{"type":60,"value":2879},{"type":54,"tag":120,"props":3775,"children":3776},{"style":139},[3777],{"type":60,"value":1042},{"type":54,"tag":120,"props":3779,"children":3780},{"style":230},[3781],{"type":60,"value":3782},"error",{"type":54,"tag":120,"props":3784,"children":3785},{"style":149},[3786],{"type":60,"value":1713},{"type":54,"tag":120,"props":3788,"children":3789},{"style":139},[3790],{"type":60,"value":747},{"type":54,"tag":120,"props":3792,"children":3793},{"class":122,"line":1372},[3794,3798],{"type":54,"tag":120,"props":3795,"children":3796},{"style":338},[3797],{"type":60,"value":2993},{"type":54,"tag":120,"props":3799,"children":3800},{"style":149},[3801],{"type":60,"value":472},{"type":54,"tag":120,"props":3803,"children":3804},{"class":122,"line":1380},[3805,3809,3813,3817,3821,3825,3830,3834],{"type":54,"tag":120,"props":3806,"children":3807},{"style":139},[3808],{"type":60,"value":3005},{"type":54,"tag":120,"props":3810,"children":3811},{"style":149},[3812],{"type":60,"value":928},{"type":54,"tag":120,"props":3814,"children":3815},{"style":127},[3816],{"type":60,"value":2475},{"type":54,"tag":120,"props":3818,"children":3819},{"style":139},[3820],{"type":60,"value":1909},{"type":54,"tag":120,"props":3822,"children":3823},{"style":139},[3824],{"type":60,"value":1914},{"type":54,"tag":120,"props":3826,"children":3827},{"style":183},[3828],{"type":60,"value":3829},"rounded border border-destructive\u002F30 bg-destructive\u002F10 p-2 text-sm text-destructive",{"type":54,"tag":120,"props":3831,"children":3832},{"style":139},[3833],{"type":60,"value":1914},{"type":54,"tag":120,"props":3835,"children":3836},{"style":139},[3837],{"type":60,"value":933},{"type":54,"tag":120,"props":3839,"children":3840},{"class":122,"line":1389},[3841,3845,3849,3854,3858,3863],{"type":54,"tag":120,"props":3842,"children":3843},{"style":139},[3844],{"type":60,"value":3473},{"type":54,"tag":120,"props":3846,"children":3847},{"style":439},[3848],{"type":60,"value":3649},{"type":54,"tag":120,"props":3850,"children":3851},{"style":230},[3852],{"type":60,"value":3853},"(data",{"type":54,"tag":120,"props":3855,"children":3856},{"style":139},[3857],{"type":60,"value":436},{"type":54,"tag":120,"props":3859,"children":3860},{"style":230},[3861],{"type":60,"value":3862},"error)",{"type":54,"tag":120,"props":3864,"children":3865},{"style":139},[3866],{"type":60,"value":242},{"type":54,"tag":120,"props":3868,"children":3869},{"class":122,"line":1448},[3870,3874,3878],{"type":54,"tag":120,"props":3871,"children":3872},{"style":139},[3873],{"type":60,"value":3244},{"type":54,"tag":120,"props":3875,"children":3876},{"style":149},[3877],{"type":60,"value":928},{"type":54,"tag":120,"props":3879,"children":3880},{"style":139},[3881],{"type":60,"value":933},{"type":54,"tag":120,"props":3883,"children":3884},{"class":122,"line":1479},[3885],{"type":54,"tag":120,"props":3886,"children":3887},{"style":149},[3888],{"type":60,"value":3260},{"type":54,"tag":120,"props":3890,"children":3891},{"class":122,"line":1496},[3892],{"type":54,"tag":120,"props":3893,"children":3894},{"style":139},[3895],{"type":60,"value":3268},{"type":54,"tag":120,"props":3897,"children":3898},{"class":122,"line":1513},[3899],{"type":54,"tag":120,"props":3900,"children":3901},{"emptyLinePlaceholder":249},[3902],{"type":60,"value":252},{"type":54,"tag":120,"props":3904,"children":3905},{"class":122,"line":1530},[3906],{"type":54,"tag":120,"props":3907,"children":3908},{"style":259},[3909],{"type":60,"value":3910},"  \u002F\u002F Fallback: simple completion message (not raw JSON)\n",{"type":54,"tag":120,"props":3912,"children":3913},{"class":122,"line":1549},[3914,3918],{"type":54,"tag":120,"props":3915,"children":3916},{"style":338},[3917],{"type":60,"value":910},{"type":54,"tag":120,"props":3919,"children":3920},{"style":149},[3921],{"type":60,"value":472},{"type":54,"tag":120,"props":3923,"children":3924},{"class":122,"line":1566},[3925,3929,3933,3937,3941,3945,3950,3954],{"type":54,"tag":120,"props":3926,"children":3927},{"style":139},[3928],{"type":60,"value":923},{"type":54,"tag":120,"props":3930,"children":3931},{"style":149},[3932],{"type":60,"value":928},{"type":54,"tag":120,"props":3934,"children":3935},{"style":127},[3936],{"type":60,"value":2475},{"type":54,"tag":120,"props":3938,"children":3939},{"style":139},[3940],{"type":60,"value":1909},{"type":54,"tag":120,"props":3942,"children":3943},{"style":139},[3944],{"type":60,"value":1914},{"type":54,"tag":120,"props":3946,"children":3947},{"style":183},[3948],{"type":60,"value":3949},"rounded border border-border bg-card p-2 text-xs text-muted-foreground",{"type":54,"tag":120,"props":3951,"children":3952},{"style":139},[3953],{"type":60,"value":1914},{"type":54,"tag":120,"props":3955,"children":3956},{"style":139},[3957],{"type":60,"value":933},{"type":54,"tag":120,"props":3959,"children":3960},{"class":122,"line":1575},[3961,3965,3969,3973],{"type":54,"tag":120,"props":3962,"children":3963},{"style":139},[3964],{"type":60,"value":942},{"type":54,"tag":120,"props":3966,"children":3967},{"style":230},[3968],{"type":60,"value":1757},{"type":54,"tag":120,"props":3970,"children":3971},{"style":139},[3972],{"type":60,"value":1945},{"type":54,"tag":120,"props":3974,"children":3975},{"style":230},[3976],{"type":60,"value":3977}," completed\n",{"type":54,"tag":120,"props":3979,"children":3980},{"class":122,"line":1642},[3981,3985,3989],{"type":54,"tag":120,"props":3982,"children":3983},{"style":139},[3984],{"type":60,"value":2673},{"type":54,"tag":120,"props":3986,"children":3987},{"style":149},[3988],{"type":60,"value":928},{"type":54,"tag":120,"props":3990,"children":3991},{"style":139},[3992],{"type":60,"value":933},{"type":54,"tag":120,"props":3994,"children":3995},{"class":122,"line":1650},[3996],{"type":54,"tag":120,"props":3997,"children":3998},{"style":149},[3999],{"type":60,"value":2690},{"type":54,"tag":120,"props":4001,"children":4002},{"class":122,"line":1720},[4003],{"type":54,"tag":120,"props":4004,"children":4005},{"style":139},[4006],{"type":60,"value":242},{"type":54,"tag":69,"props":4008,"children":4010},{"id":4009},"server-side-requirements",[4011],{"type":60,"value":4012},"Server-Side Requirements",{"type":54,"tag":63,"props":4014,"children":4015},{},[4016],{"type":60,"value":4017},"The server route must use the correct v6 response format:",{"type":54,"tag":109,"props":4019,"children":4021},{"className":111,"code":4020,"language":113,"meta":114,"style":114},"\u002F\u002F app\u002Fapi\u002Fchat\u002Froute.ts\nimport { streamText, convertToModelMessages, gateway } from 'ai'\n\nexport async function POST(req: Request) {\n  const { messages } = await req.json()\n\n  \u002F\u002F IMPORTANT: convertToModelMessages is async in v6\n  const modelMessages = await convertToModelMessages(messages)\n\n  const result = streamText({\n    model: gateway('anthropic\u002Fclaude-sonnet-4.6'),\n    messages: modelMessages,\n  })\n\n  \u002F\u002F Use toUIMessageStreamResponse for chat UIs (not toDataStreamResponse)\n  return result.toUIMessageStreamResponse()\n}\n",[4022],{"type":54,"tag":92,"props":4023,"children":4024},{"__ignoreMap":114},[4025,4033,4087,4094,4141,4188,4195,4203,4239,4246,4274,4315,4335,4346,4353,4361,4385],{"type":54,"tag":120,"props":4026,"children":4027},{"class":122,"line":123},[4028],{"type":54,"tag":120,"props":4029,"children":4030},{"style":259},[4031],{"type":60,"value":4032},"\u002F\u002F app\u002Fapi\u002Fchat\u002Froute.ts\n",{"type":54,"tag":120,"props":4034,"children":4035},{"class":122,"line":145},[4036,4040,4044,4049,4053,4058,4062,4067,4071,4075,4079,4083],{"type":54,"tag":120,"props":4037,"children":4038},{"style":338},[4039],{"type":60,"value":341},{"type":54,"tag":120,"props":4041,"children":4042},{"style":139},[4043],{"type":60,"value":346},{"type":54,"tag":120,"props":4045,"children":4046},{"style":230},[4047],{"type":60,"value":4048}," streamText",{"type":54,"tag":120,"props":4050,"children":4051},{"style":139},[4052],{"type":60,"value":711},{"type":54,"tag":120,"props":4054,"children":4055},{"style":230},[4056],{"type":60,"value":4057}," convertToModelMessages",{"type":54,"tag":120,"props":4059,"children":4060},{"style":139},[4061],{"type":60,"value":711},{"type":54,"tag":120,"props":4063,"children":4064},{"style":230},[4065],{"type":60,"value":4066}," gateway",{"type":54,"tag":120,"props":4068,"children":4069},{"style":139},[4070],{"type":60,"value":356},{"type":54,"tag":120,"props":4072,"children":4073},{"style":338},[4074],{"type":60,"value":361},{"type":54,"tag":120,"props":4076,"children":4077},{"style":139},[4078],{"type":60,"value":180},{"type":54,"tag":120,"props":4080,"children":4081},{"style":183},[4082],{"type":60,"value":651},{"type":54,"tag":120,"props":4084,"children":4085},{"style":139},[4086],{"type":60,"value":210},{"type":54,"tag":120,"props":4088,"children":4089},{"class":122,"line":165},[4090],{"type":54,"tag":120,"props":4091,"children":4092},{"emptyLinePlaceholder":249},[4093],{"type":60,"value":252},{"type":54,"tag":120,"props":4095,"children":4096},{"class":122,"line":36},[4097,4101,4106,4110,4115,4119,4124,4128,4133,4137],{"type":54,"tag":120,"props":4098,"children":4099},{"style":338},[4100],{"type":60,"value":670},{"type":54,"tag":120,"props":4102,"children":4103},{"style":127},[4104],{"type":60,"value":4105}," async",{"type":54,"tag":120,"props":4107,"children":4108},{"style":127},[4109],{"type":60,"value":675},{"type":54,"tag":120,"props":4111,"children":4112},{"style":439},[4113],{"type":60,"value":4114}," POST",{"type":54,"tag":120,"props":4116,"children":4117},{"style":139},[4118],{"type":60,"value":447},{"type":54,"tag":120,"props":4120,"children":4121},{"style":454},[4122],{"type":60,"value":4123},"req",{"type":54,"tag":120,"props":4125,"children":4126},{"style":139},[4127],{"type":60,"value":157},{"type":54,"tag":120,"props":4129,"children":4130},{"style":133},[4131],{"type":60,"value":4132}," Request",{"type":54,"tag":120,"props":4134,"children":4135},{"style":139},[4136],{"type":60,"value":462},{"type":54,"tag":120,"props":4138,"children":4139},{"style":139},[4140],{"type":60,"value":142},{"type":54,"tag":120,"props":4142,"children":4143},{"class":122,"line":236},[4144,4148,4152,4156,4160,4164,4169,4174,4178,4183],{"type":54,"tag":120,"props":4145,"children":4146},{"style":127},[4147],{"type":60,"value":697},{"type":54,"tag":120,"props":4149,"children":4150},{"style":139},[4151],{"type":60,"value":346},{"type":54,"tag":120,"props":4153,"children":4154},{"style":230},[4155],{"type":60,"value":706},{"type":54,"tag":120,"props":4157,"children":4158},{"style":139},[4159],{"type":60,"value":356},{"type":54,"tag":120,"props":4161,"children":4162},{"style":139},[4163],{"type":60,"value":734},{"type":54,"tag":120,"props":4165,"children":4166},{"style":338},[4167],{"type":60,"value":4168}," await",{"type":54,"tag":120,"props":4170,"children":4171},{"style":230},[4172],{"type":60,"value":4173}," req",{"type":54,"tag":120,"props":4175,"children":4176},{"style":139},[4177],{"type":60,"value":436},{"type":54,"tag":120,"props":4179,"children":4180},{"style":439},[4181],{"type":60,"value":4182},"json",{"type":54,"tag":120,"props":4184,"children":4185},{"style":149},[4186],{"type":60,"value":4187},"()\n",{"type":54,"tag":120,"props":4189,"children":4190},{"class":122,"line":245},[4191],{"type":54,"tag":120,"props":4192,"children":4193},{"emptyLinePlaceholder":249},[4194],{"type":60,"value":252},{"type":54,"tag":120,"props":4196,"children":4197},{"class":122,"line":255},[4198],{"type":54,"tag":120,"props":4199,"children":4200},{"style":259},[4201],{"type":60,"value":4202},"  \u002F\u002F IMPORTANT: convertToModelMessages is async in v6\n",{"type":54,"tag":120,"props":4204,"children":4205},{"class":122,"line":265},[4206,4210,4215,4219,4223,4227,4231,4235],{"type":54,"tag":120,"props":4207,"children":4208},{"style":127},[4209],{"type":60,"value":697},{"type":54,"tag":120,"props":4211,"children":4212},{"style":230},[4213],{"type":60,"value":4214}," modelMessages",{"type":54,"tag":120,"props":4216,"children":4217},{"style":139},[4218],{"type":60,"value":734},{"type":54,"tag":120,"props":4220,"children":4221},{"style":338},[4222],{"type":60,"value":4168},{"type":54,"tag":120,"props":4224,"children":4225},{"style":439},[4226],{"type":60,"value":4057},{"type":54,"tag":120,"props":4228,"children":4229},{"style":149},[4230],{"type":60,"value":447},{"type":54,"tag":120,"props":4232,"children":4233},{"style":230},[4234],{"type":60,"value":431},{"type":54,"tag":120,"props":4236,"children":4237},{"style":149},[4238],{"type":60,"value":824},{"type":54,"tag":120,"props":4240,"children":4241},{"class":122,"line":274},[4242],{"type":54,"tag":120,"props":4243,"children":4244},{"emptyLinePlaceholder":249},[4245],{"type":60,"value":252},{"type":54,"tag":120,"props":4247,"children":4248},{"class":122,"line":283},[4249,4253,4258,4262,4266,4270],{"type":54,"tag":120,"props":4250,"children":4251},{"style":127},[4252],{"type":60,"value":697},{"type":54,"tag":120,"props":4254,"children":4255},{"style":230},[4256],{"type":60,"value":4257}," result",{"type":54,"tag":120,"props":4259,"children":4260},{"style":139},[4261],{"type":60,"value":734},{"type":54,"tag":120,"props":4263,"children":4264},{"style":439},[4265],{"type":60,"value":4048},{"type":54,"tag":120,"props":4267,"children":4268},{"style":149},[4269],{"type":60,"value":447},{"type":54,"tag":120,"props":4271,"children":4272},{"style":139},[4273],{"type":60,"value":747},{"type":54,"tag":120,"props":4275,"children":4276},{"class":122,"line":292},[4277,4282,4286,4290,4294,4298,4303,4307,4311],{"type":54,"tag":120,"props":4278,"children":4279},{"style":149},[4280],{"type":60,"value":4281},"    model",{"type":54,"tag":120,"props":4283,"children":4284},{"style":139},[4285],{"type":60,"value":157},{"type":54,"tag":120,"props":4287,"children":4288},{"style":439},[4289],{"type":60,"value":4066},{"type":54,"tag":120,"props":4291,"children":4292},{"style":149},[4293],{"type":60,"value":447},{"type":54,"tag":120,"props":4295,"children":4296},{"style":139},[4297],{"type":60,"value":191},{"type":54,"tag":120,"props":4299,"children":4300},{"style":183},[4301],{"type":60,"value":4302},"anthropic\u002Fclaude-sonnet-4.6",{"type":54,"tag":120,"props":4304,"children":4305},{"style":139},[4306],{"type":60,"value":191},{"type":54,"tag":120,"props":4308,"children":4309},{"style":149},[4310],{"type":60,"value":462},{"type":54,"tag":120,"props":4312,"children":4313},{"style":139},[4314],{"type":60,"value":811},{"type":54,"tag":120,"props":4316,"children":4317},{"class":122,"line":301},[4318,4323,4327,4331],{"type":54,"tag":120,"props":4319,"children":4320},{"style":149},[4321],{"type":60,"value":4322},"    messages",{"type":54,"tag":120,"props":4324,"children":4325},{"style":139},[4326],{"type":60,"value":157},{"type":54,"tag":120,"props":4328,"children":4329},{"style":230},[4330],{"type":60,"value":4214},{"type":54,"tag":120,"props":4332,"children":4333},{"style":139},[4334],{"type":60,"value":811},{"type":54,"tag":120,"props":4336,"children":4337},{"class":122,"line":917},[4338,4342],{"type":54,"tag":120,"props":4339,"children":4340},{"style":139},[4341],{"type":60,"value":819},{"type":54,"tag":120,"props":4343,"children":4344},{"style":149},[4345],{"type":60,"value":824},{"type":54,"tag":120,"props":4347,"children":4348},{"class":122,"line":936},[4349],{"type":54,"tag":120,"props":4350,"children":4351},{"emptyLinePlaceholder":249},[4352],{"type":60,"value":252},{"type":54,"tag":120,"props":4354,"children":4355},{"class":122,"line":981},[4356],{"type":54,"tag":120,"props":4357,"children":4358},{"style":259},[4359],{"type":60,"value":4360},"  \u002F\u002F Use toUIMessageStreamResponse for chat UIs (not toDataStreamResponse)\n",{"type":54,"tag":120,"props":4362,"children":4363},{"class":122,"line":1019},[4364,4368,4372,4376,4381],{"type":54,"tag":120,"props":4365,"children":4366},{"style":338},[4367],{"type":60,"value":910},{"type":54,"tag":120,"props":4369,"children":4370},{"style":230},[4371],{"type":60,"value":4257},{"type":54,"tag":120,"props":4373,"children":4374},{"style":139},[4375],{"type":60,"value":436},{"type":54,"tag":120,"props":4377,"children":4378},{"style":439},[4379],{"type":60,"value":4380},"toUIMessageStreamResponse",{"type":54,"tag":120,"props":4382,"children":4383},{"style":149},[4384],{"type":60,"value":4187},{"type":54,"tag":120,"props":4386,"children":4387},{"class":122,"line":1083},[4388],{"type":54,"tag":120,"props":4389,"children":4390},{"style":139},[4391],{"type":60,"value":242},{"type":54,"tag":69,"props":4393,"children":4395},{"id":4394},"client-side-requirements",[4396],{"type":60,"value":4397},"Client-Side Requirements",{"type":54,"tag":109,"props":4399,"children":4401},{"className":326,"code":4400,"language":328,"meta":114,"style":114},"import { useChat } from '@ai-sdk\u002Freact'\nimport { DefaultChatTransport } from 'ai'\n\nconst { messages, sendMessage, status } = useChat({\n  \u002F\u002F v6 uses transport instead of api\n  transport: new DefaultChatTransport({ api: '\u002Fapi\u002Fchat' }),\n})\n\n\u002F\u002F v6 uses sendMessage instead of handleSubmit\nsendMessage({ text: inputValue })\n\n\u002F\u002F Status values: 'ready' | 'submitted' | 'streaming'\nconst isLoading = status === 'streaming' || status === 'submitted'\n",[4402],{"type":54,"tag":92,"props":4403,"children":4404},{"__ignoreMap":114},[4405,4440,4475,4482,4535,4543,4603,4614,4621,4629,4666,4673,4681],{"type":54,"tag":120,"props":4406,"children":4407},{"class":122,"line":123},[4408,4412,4416,4420,4424,4428,4432,4436],{"type":54,"tag":120,"props":4409,"children":4410},{"style":338},[4411],{"type":60,"value":341},{"type":54,"tag":120,"props":4413,"children":4414},{"style":139},[4415],{"type":60,"value":346},{"type":54,"tag":120,"props":4417,"children":4418},{"style":230},[4419],{"type":60,"value":597},{"type":54,"tag":120,"props":4421,"children":4422},{"style":139},[4423],{"type":60,"value":356},{"type":54,"tag":120,"props":4425,"children":4426},{"style":338},[4427],{"type":60,"value":361},{"type":54,"tag":120,"props":4429,"children":4430},{"style":139},[4431],{"type":60,"value":180},{"type":54,"tag":120,"props":4433,"children":4434},{"style":183},[4435],{"type":60,"value":614},{"type":54,"tag":120,"props":4437,"children":4438},{"style":139},[4439],{"type":60,"value":210},{"type":54,"tag":120,"props":4441,"children":4442},{"class":122,"line":145},[4443,4447,4451,4455,4459,4463,4467,4471],{"type":54,"tag":120,"props":4444,"children":4445},{"style":338},[4446],{"type":60,"value":341},{"type":54,"tag":120,"props":4448,"children":4449},{"style":139},[4450],{"type":60,"value":346},{"type":54,"tag":120,"props":4452,"children":4453},{"style":230},[4454],{"type":60,"value":634},{"type":54,"tag":120,"props":4456,"children":4457},{"style":139},[4458],{"type":60,"value":356},{"type":54,"tag":120,"props":4460,"children":4461},{"style":338},[4462],{"type":60,"value":361},{"type":54,"tag":120,"props":4464,"children":4465},{"style":139},[4466],{"type":60,"value":180},{"type":54,"tag":120,"props":4468,"children":4469},{"style":183},[4470],{"type":60,"value":651},{"type":54,"tag":120,"props":4472,"children":4473},{"style":139},[4474],{"type":60,"value":210},{"type":54,"tag":120,"props":4476,"children":4477},{"class":122,"line":165},[4478],{"type":54,"tag":120,"props":4479,"children":4480},{"emptyLinePlaceholder":249},[4481],{"type":60,"value":252},{"type":54,"tag":120,"props":4483,"children":4484},{"class":122,"line":36},[4485,4490,4494,4498,4502,4506,4510,4515,4519,4523,4527,4531],{"type":54,"tag":120,"props":4486,"children":4487},{"style":127},[4488],{"type":60,"value":4489},"const",{"type":54,"tag":120,"props":4491,"children":4492},{"style":139},[4493],{"type":60,"value":346},{"type":54,"tag":120,"props":4495,"children":4496},{"style":230},[4497],{"type":60,"value":706},{"type":54,"tag":120,"props":4499,"children":4500},{"style":139},[4501],{"type":60,"value":711},{"type":54,"tag":120,"props":4503,"children":4504},{"style":230},[4505],{"type":60,"value":716},{"type":54,"tag":120,"props":4507,"children":4508},{"style":139},[4509],{"type":60,"value":711},{"type":54,"tag":120,"props":4511,"children":4512},{"style":230},[4513],{"type":60,"value":4514}," status ",{"type":54,"tag":120,"props":4516,"children":4517},{"style":139},[4518],{"type":60,"value":1945},{"type":54,"tag":120,"props":4520,"children":4521},{"style":139},[4522],{"type":60,"value":734},{"type":54,"tag":120,"props":4524,"children":4525},{"style":439},[4526],{"type":60,"value":597},{"type":54,"tag":120,"props":4528,"children":4529},{"style":230},[4530],{"type":60,"value":447},{"type":54,"tag":120,"props":4532,"children":4533},{"style":139},[4534],{"type":60,"value":747},{"type":54,"tag":120,"props":4536,"children":4537},{"class":122,"line":236},[4538],{"type":54,"tag":120,"props":4539,"children":4540},{"style":259},[4541],{"type":60,"value":4542},"  \u002F\u002F v6 uses transport instead of api\n",{"type":54,"tag":120,"props":4544,"children":4545},{"class":122,"line":245},[4546,4551,4555,4559,4563,4567,4571,4575,4579,4583,4587,4591,4595,4599],{"type":54,"tag":120,"props":4547,"children":4548},{"style":149},[4549],{"type":60,"value":4550},"  transport",{"type":54,"tag":120,"props":4552,"children":4553},{"style":139},[4554],{"type":60,"value":157},{"type":54,"tag":120,"props":4556,"children":4557},{"style":139},[4558],{"type":60,"value":764},{"type":54,"tag":120,"props":4560,"children":4561},{"style":439},[4562],{"type":60,"value":634},{"type":54,"tag":120,"props":4564,"children":4565},{"style":230},[4566],{"type":60,"value":447},{"type":54,"tag":120,"props":4568,"children":4569},{"style":139},[4570],{"type":60,"value":426},{"type":54,"tag":120,"props":4572,"children":4573},{"style":149},[4574],{"type":60,"value":781},{"type":54,"tag":120,"props":4576,"children":4577},{"style":139},[4578],{"type":60,"value":157},{"type":54,"tag":120,"props":4580,"children":4581},{"style":139},[4582],{"type":60,"value":180},{"type":54,"tag":120,"props":4584,"children":4585},{"style":183},[4586],{"type":60,"value":794},{"type":54,"tag":120,"props":4588,"children":4589},{"style":139},[4590],{"type":60,"value":191},{"type":54,"tag":120,"props":4592,"children":4593},{"style":139},[4594],{"type":60,"value":356},{"type":54,"tag":120,"props":4596,"children":4597},{"style":230},[4598],{"type":60,"value":462},{"type":54,"tag":120,"props":4600,"children":4601},{"style":139},[4602],{"type":60,"value":811},{"type":54,"tag":120,"props":4604,"children":4605},{"class":122,"line":255},[4606,4610],{"type":54,"tag":120,"props":4607,"children":4608},{"style":139},[4609],{"type":60,"value":1945},{"type":54,"tag":120,"props":4611,"children":4612},{"style":230},[4613],{"type":60,"value":824},{"type":54,"tag":120,"props":4615,"children":4616},{"class":122,"line":265},[4617],{"type":54,"tag":120,"props":4618,"children":4619},{"emptyLinePlaceholder":249},[4620],{"type":60,"value":252},{"type":54,"tag":120,"props":4622,"children":4623},{"class":122,"line":274},[4624],{"type":54,"tag":120,"props":4625,"children":4626},{"style":259},[4627],{"type":60,"value":4628},"\u002F\u002F v6 uses sendMessage instead of handleSubmit\n",{"type":54,"tag":120,"props":4630,"children":4631},{"class":122,"line":283},[4632,4637,4641,4645,4649,4653,4658,4662],{"type":54,"tag":120,"props":4633,"children":4634},{"style":439},[4635],{"type":60,"value":4636},"sendMessage",{"type":54,"tag":120,"props":4638,"children":4639},{"style":230},[4640],{"type":60,"value":447},{"type":54,"tag":120,"props":4642,"children":4643},{"style":139},[4644],{"type":60,"value":426},{"type":54,"tag":120,"props":4646,"children":4647},{"style":149},[4648],{"type":60,"value":2516},{"type":54,"tag":120,"props":4650,"children":4651},{"style":139},[4652],{"type":60,"value":157},{"type":54,"tag":120,"props":4654,"children":4655},{"style":230},[4656],{"type":60,"value":4657}," inputValue ",{"type":54,"tag":120,"props":4659,"children":4660},{"style":139},[4661],{"type":60,"value":1945},{"type":54,"tag":120,"props":4663,"children":4664},{"style":230},[4665],{"type":60,"value":824},{"type":54,"tag":120,"props":4667,"children":4668},{"class":122,"line":292},[4669],{"type":54,"tag":120,"props":4670,"children":4671},{"emptyLinePlaceholder":249},[4672],{"type":60,"value":252},{"type":54,"tag":120,"props":4674,"children":4675},{"class":122,"line":301},[4676],{"type":54,"tag":120,"props":4677,"children":4678},{"style":259},[4679],{"type":60,"value":4680},"\u002F\u002F Status values: 'ready' | 'submitted' | 'streaming'\n",{"type":54,"tag":120,"props":4682,"children":4683},{"class":122,"line":917},[4684,4688,4693,4697,4701,4705,4709,4713,4717,4721,4725,4729,4733,4737],{"type":54,"tag":120,"props":4685,"children":4686},{"style":127},[4687],{"type":60,"value":4489},{"type":54,"tag":120,"props":4689,"children":4690},{"style":230},[4691],{"type":60,"value":4692}," isLoading ",{"type":54,"tag":120,"props":4694,"children":4695},{"style":139},[4696],{"type":60,"value":1909},{"type":54,"tag":120,"props":4698,"children":4699},{"style":230},[4700],{"type":60,"value":4514},{"type":54,"tag":120,"props":4702,"children":4703},{"style":139},[4704],{"type":60,"value":1244},{"type":54,"tag":120,"props":4706,"children":4707},{"style":139},[4708],{"type":60,"value":180},{"type":54,"tag":120,"props":4710,"children":4711},{"style":183},[4712],{"type":60,"value":865},{"type":54,"tag":120,"props":4714,"children":4715},{"style":139},[4716],{"type":60,"value":191},{"type":54,"tag":120,"props":4718,"children":4719},{"style":139},[4720],{"type":60,"value":874},{"type":54,"tag":120,"props":4722,"children":4723},{"style":230},[4724],{"type":60,"value":4514},{"type":54,"tag":120,"props":4726,"children":4727},{"style":139},[4728],{"type":60,"value":1244},{"type":54,"tag":120,"props":4730,"children":4731},{"style":139},[4732],{"type":60,"value":180},{"type":54,"tag":120,"props":4734,"children":4735},{"style":183},[4736],{"type":60,"value":891},{"type":54,"tag":120,"props":4738,"children":4739},{"style":139},[4740],{"type":60,"value":210},{"type":54,"tag":69,"props":4742,"children":4744},{"id":4743},"common-mistakes",[4745],{"type":60,"value":4746},"Common Mistakes",{"type":54,"tag":4748,"props":4749,"children":4751},"h3",{"id":4750},"_1-raw-json-in-chat-responses",[4752],{"type":60,"value":4753},"1. Raw JSON in chat responses",{"type":54,"tag":63,"props":4755,"children":4756},{},[4757,4763,4765,4771,4773,4779],{"type":54,"tag":4758,"props":4759,"children":4760},"strong",{},[4761],{"type":60,"value":4762},"Cause",{"type":60,"value":4764},": Rendering ",{"type":54,"tag":92,"props":4766,"children":4768},{"className":4767},[],[4769],{"type":60,"value":4770},"message.content",{"type":60,"value":4772}," instead of iterating ",{"type":54,"tag":92,"props":4774,"children":4776},{"className":4775},[],[4777],{"type":60,"value":4778},"message.parts",{"type":60,"value":436},{"type":54,"tag":63,"props":4781,"children":4782},{},[4783,4788,4790,4795],{"type":54,"tag":4758,"props":4784,"children":4785},{},[4786],{"type":60,"value":4787},"Fix",{"type":60,"value":4789},": Always iterate ",{"type":54,"tag":92,"props":4791,"children":4793},{"className":4792},[],[4794],{"type":60,"value":4778},{"type":60,"value":4796}," and handle each type:",{"type":54,"tag":109,"props":4798,"children":4800},{"className":326,"code":4799,"language":328,"meta":114,"style":114},"\u002F\u002F WRONG — shows raw JSON\n\u003Cdiv>{message.content}\u003C\u002Fdiv>\n\n\u002F\u002F RIGHT — renders each part type\n{message.parts?.map((part, i) => {\n  if (part.type === 'text') return \u003Cspan key={i}>{part.text}\u003C\u002Fspan>\n  \u002F\u002F ... handle other types\n})}\n",[4801],{"type":54,"tag":92,"props":4802,"children":4803},{"__ignoreMap":114},[4804,4812,4852,4859,4867,4926,5023,5031],{"type":54,"tag":120,"props":4805,"children":4806},{"class":122,"line":123},[4807],{"type":54,"tag":120,"props":4808,"children":4809},{"style":259},[4810],{"type":60,"value":4811},"\u002F\u002F WRONG — shows raw JSON\n",{"type":54,"tag":120,"props":4813,"children":4814},{"class":122,"line":145},[4815,4819,4823,4827,4831,4835,4840,4844,4848],{"type":54,"tag":120,"props":4816,"children":4817},{"style":139},[4818],{"type":60,"value":2830},{"type":54,"tag":120,"props":4820,"children":4821},{"style":149},[4822],{"type":60,"value":928},{"type":54,"tag":120,"props":4824,"children":4825},{"style":139},[4826],{"type":60,"value":2497},{"type":54,"tag":120,"props":4828,"children":4829},{"style":230},[4830],{"type":60,"value":457},{"type":54,"tag":120,"props":4832,"children":4833},{"style":139},[4834],{"type":60,"value":436},{"type":54,"tag":120,"props":4836,"children":4837},{"style":230},[4838],{"type":60,"value":4839},"content",{"type":54,"tag":120,"props":4841,"children":4842},{"style":139},[4843],{"type":60,"value":2546},{"type":54,"tag":120,"props":4845,"children":4846},{"style":149},[4847],{"type":60,"value":928},{"type":54,"tag":120,"props":4849,"children":4850},{"style":139},[4851],{"type":60,"value":933},{"type":54,"tag":120,"props":4853,"children":4854},{"class":122,"line":165},[4855],{"type":54,"tag":120,"props":4856,"children":4857},{"emptyLinePlaceholder":249},[4858],{"type":60,"value":252},{"type":54,"tag":120,"props":4860,"children":4861},{"class":122,"line":36},[4862],{"type":54,"tag":120,"props":4863,"children":4864},{"style":259},[4865],{"type":60,"value":4866},"\u002F\u002F RIGHT — renders each part type\n",{"type":54,"tag":120,"props":4868,"children":4869},{"class":122,"line":236},[4870,4874,4878,4882,4886,4890,4894,4898,4902,4906,4910,4914,4918,4922],{"type":54,"tag":120,"props":4871,"children":4872},{"style":139},[4873],{"type":60,"value":426},{"type":54,"tag":120,"props":4875,"children":4876},{"style":230},[4877],{"type":60,"value":457},{"type":54,"tag":120,"props":4879,"children":4880},{"style":139},[4881],{"type":60,"value":436},{"type":54,"tag":120,"props":4883,"children":4884},{"style":230},[4885],{"type":60,"value":105},{"type":54,"tag":120,"props":4887,"children":4888},{"style":139},[4889],{"type":60,"value":1042},{"type":54,"tag":120,"props":4891,"children":4892},{"style":439},[4893],{"type":60,"value":442},{"type":54,"tag":120,"props":4895,"children":4896},{"style":149},[4897],{"type":60,"value":447},{"type":54,"tag":120,"props":4899,"children":4900},{"style":139},[4901],{"type":60,"value":447},{"type":54,"tag":120,"props":4903,"children":4904},{"style":454},[4905],{"type":60,"value":1059},{"type":54,"tag":120,"props":4907,"children":4908},{"style":139},[4909],{"type":60,"value":711},{"type":54,"tag":120,"props":4911,"children":4912},{"style":454},[4913],{"type":60,"value":1068},{"type":54,"tag":120,"props":4915,"children":4916},{"style":139},[4917],{"type":60,"value":462},{"type":54,"tag":120,"props":4919,"children":4920},{"style":127},[4921],{"type":60,"value":467},{"type":54,"tag":120,"props":4923,"children":4924},{"style":139},[4925],{"type":60,"value":142},{"type":54,"tag":120,"props":4927,"children":4928},{"class":122,"line":245},[4929,4933,4937,4941,4945,4949,4953,4957,4961,4965,4969,4974,4978,4982,4986,4990,4994,4999,5003,5007,5011,5015,5019],{"type":54,"tag":120,"props":4930,"children":4931},{"style":338},[4932],{"type":60,"value":2870},{"type":54,"tag":120,"props":4934,"children":4935},{"style":149},[4936],{"type":60,"value":1103},{"type":54,"tag":120,"props":4938,"children":4939},{"style":230},[4940],{"type":60,"value":1059},{"type":54,"tag":120,"props":4942,"children":4943},{"style":139},[4944],{"type":60,"value":436},{"type":54,"tag":120,"props":4946,"children":4947},{"style":230},[4948],{"type":60,"value":1116},{"type":54,"tag":120,"props":4950,"children":4951},{"style":139},[4952],{"type":60,"value":856},{"type":54,"tag":120,"props":4954,"children":4955},{"style":139},[4956],{"type":60,"value":180},{"type":54,"tag":120,"props":4958,"children":4959},{"style":183},[4960],{"type":60,"value":60},{"type":54,"tag":120,"props":4962,"children":4963},{"style":139},[4964],{"type":60,"value":191},{"type":54,"tag":120,"props":4966,"children":4967},{"style":149},[4968],{"type":60,"value":1713},{"type":54,"tag":120,"props":4970,"children":4971},{"style":338},[4972],{"type":60,"value":4973},"return",{"type":54,"tag":120,"props":4975,"children":4976},{"style":139},[4977],{"type":60,"value":1731},{"type":54,"tag":120,"props":4979,"children":4980},{"style":149},[4981],{"type":60,"value":120},{"type":54,"tag":120,"props":4983,"children":4984},{"style":127},[4985],{"type":60,"value":490},{"type":54,"tag":120,"props":4987,"children":4988},{"style":139},[4989],{"type":60,"value":495},{"type":54,"tag":120,"props":4991,"children":4992},{"style":230},[4993],{"type":60,"value":1207},{"type":54,"tag":120,"props":4995,"children":4996},{"style":139},[4997],{"type":60,"value":4998},"}>{",{"type":54,"tag":120,"props":5000,"children":5001},{"style":230},[5002],{"type":60,"value":1059},{"type":54,"tag":120,"props":5004,"children":5005},{"style":139},[5006],{"type":60,"value":436},{"type":54,"tag":120,"props":5008,"children":5009},{"style":230},[5010],{"type":60,"value":60},{"type":54,"tag":120,"props":5012,"children":5013},{"style":139},[5014],{"type":60,"value":2546},{"type":54,"tag":120,"props":5016,"children":5017},{"style":149},[5018],{"type":60,"value":120},{"type":54,"tag":120,"props":5020,"children":5021},{"style":139},[5022],{"type":60,"value":933},{"type":54,"tag":120,"props":5024,"children":5025},{"class":122,"line":255},[5026],{"type":54,"tag":120,"props":5027,"children":5028},{"style":259},[5029],{"type":60,"value":5030},"  \u002F\u002F ... handle other types\n",{"type":54,"tag":120,"props":5032,"children":5033},{"class":122,"line":265},[5034,5038,5042],{"type":54,"tag":120,"props":5035,"children":5036},{"style":139},[5037],{"type":60,"value":1945},{"type":54,"tag":120,"props":5039,"children":5040},{"style":149},[5041],{"type":60,"value":462},{"type":54,"tag":120,"props":5043,"children":5044},{"style":139},[5045],{"type":60,"value":242},{"type":54,"tag":4748,"props":5047,"children":5049},{"id":5048},"_2-tool-results-showing-as-json-blobs",[5050],{"type":60,"value":5051},"2. Tool results showing as JSON blobs",{"type":54,"tag":63,"props":5053,"children":5054},{},[5055,5059,5061,5067],{"type":54,"tag":4758,"props":5056,"children":5057},{},[5058],{"type":60,"value":4762},{"type":60,"value":5060},": Using ",{"type":54,"tag":92,"props":5062,"children":5064},{"className":5063},[],[5065],{"type":60,"value":5066},"JSON.stringify(output)",{"type":60,"value":5068}," as the display.",{"type":54,"tag":63,"props":5070,"children":5071},{},[5072,5076],{"type":54,"tag":4758,"props":5073,"children":5074},{},[5075],{"type":60,"value":4787},{"type":60,"value":5077},": Create structured card components for known tool output shapes.",{"type":54,"tag":4748,"props":5079,"children":5081},{"id":5080},"_3-invalid-prompt-messages-do-not-contain-error",[5082],{"type":60,"value":5083},"3. \"Invalid prompt: messages do not contain...\" error",{"type":54,"tag":63,"props":5085,"children":5086},{},[5087,5091],{"type":54,"tag":4758,"props":5088,"children":5089},{},[5090],{"type":60,"value":4762},{"type":60,"value":5092},": Not converting UI messages to model messages on the server.",{"type":54,"tag":63,"props":5094,"children":5095},{},[5096,5100,5102,5108],{"type":54,"tag":4758,"props":5097,"children":5098},{},[5099],{"type":60,"value":4787},{"type":60,"value":5101},": Use ",{"type":54,"tag":92,"props":5103,"children":5105},{"className":5104},[],[5106],{"type":60,"value":5107},"await convertToModelMessages(messages)",{"type":60,"value":5109}," — it's async in v6.",{"type":54,"tag":4748,"props":5111,"children":5113},{"id":5112},"_4-messages-not-appearing-empty-responses",[5114],{"type":60,"value":5115},"4. Messages not appearing \u002F empty responses",{"type":54,"tag":63,"props":5117,"children":5118},{},[5119,5123,5124,5130,5132,5138],{"type":54,"tag":4758,"props":5120,"children":5121},{},[5122],{"type":60,"value":4762},{"type":60,"value":5060},{"type":54,"tag":92,"props":5125,"children":5127},{"className":5126},[],[5128],{"type":60,"value":5129},"toDataStreamResponse()",{"type":60,"value":5131}," instead of ",{"type":54,"tag":92,"props":5133,"children":5135},{"className":5134},[],[5136],{"type":60,"value":5137},"toUIMessageStreamResponse()",{"type":60,"value":436},{"type":54,"tag":63,"props":5140,"children":5141},{},[5142,5146,5147,5152,5154,5160,5162,5168],{"type":54,"tag":4758,"props":5143,"children":5144},{},[5145],{"type":60,"value":4787},{"type":60,"value":5101},{"type":54,"tag":92,"props":5148,"children":5150},{"className":5149},[],[5151],{"type":60,"value":5137},{"type":60,"value":5153}," when the client uses ",{"type":54,"tag":92,"props":5155,"children":5157},{"className":5156},[],[5158],{"type":60,"value":5159},"useChat",{"type":60,"value":5161}," with ",{"type":54,"tag":92,"props":5163,"children":5165},{"className":5164},[],[5166],{"type":60,"value":5167},"DefaultChatTransport",{"type":60,"value":436},{"type":54,"tag":4748,"props":5170,"children":5172},{"id":5171},"_5-usechat-not-working-with-v6",[5173],{"type":60,"value":5174},"5. useChat not working with v6",{"type":54,"tag":63,"props":5176,"children":5177},{},[5178,5182,5184,5190],{"type":54,"tag":4758,"props":5179,"children":5180},{},[5181],{"type":60,"value":4762},{"type":60,"value":5183},": Using the v5 ",{"type":54,"tag":92,"props":5185,"children":5187},{"className":5186},[],[5188],{"type":60,"value":5189},"useChat({ api: '\u002Fapi\u002Fchat' })",{"type":60,"value":5191}," pattern.",{"type":54,"tag":63,"props":5193,"children":5194},{},[5195,5199,5200,5205],{"type":54,"tag":4758,"props":5196,"children":5197},{},[5198],{"type":60,"value":4787},{"type":60,"value":5101},{"type":54,"tag":92,"props":5201,"children":5203},{"className":5202},[],[5204],{"type":60,"value":5167},{"type":60,"value":157},{"type":54,"tag":109,"props":5207,"children":5209},{"className":326,"code":5208,"language":328,"meta":114,"style":114},"\u002F\u002F v5 (old)\nconst { messages, handleSubmit, input } = useChat({ api: '\u002Fapi\u002Fchat' })\n\n\u002F\u002F v6 (current)\nconst { messages, sendMessage, status } = useChat({\n  transport: new DefaultChatTransport({ api: '\u002Fapi\u002Fchat' }),\n})\n",[5210],{"type":54,"tag":92,"props":5211,"children":5212},{"__ignoreMap":114},[5213,5221,5302,5309,5317,5368,5427],{"type":54,"tag":120,"props":5214,"children":5215},{"class":122,"line":123},[5216],{"type":54,"tag":120,"props":5217,"children":5218},{"style":259},[5219],{"type":60,"value":5220},"\u002F\u002F v5 (old)\n",{"type":54,"tag":120,"props":5222,"children":5223},{"class":122,"line":145},[5224,5228,5232,5236,5240,5245,5249,5254,5258,5262,5266,5270,5274,5278,5282,5286,5290,5294,5298],{"type":54,"tag":120,"props":5225,"children":5226},{"style":127},[5227],{"type":60,"value":4489},{"type":54,"tag":120,"props":5229,"children":5230},{"style":139},[5231],{"type":60,"value":346},{"type":54,"tag":120,"props":5233,"children":5234},{"style":230},[5235],{"type":60,"value":706},{"type":54,"tag":120,"props":5237,"children":5238},{"style":139},[5239],{"type":60,"value":711},{"type":54,"tag":120,"props":5241,"children":5242},{"style":230},[5243],{"type":60,"value":5244}," handleSubmit",{"type":54,"tag":120,"props":5246,"children":5247},{"style":139},[5248],{"type":60,"value":711},{"type":54,"tag":120,"props":5250,"children":5251},{"style":230},[5252],{"type":60,"value":5253}," input ",{"type":54,"tag":120,"props":5255,"children":5256},{"style":139},[5257],{"type":60,"value":1945},{"type":54,"tag":120,"props":5259,"children":5260},{"style":139},[5261],{"type":60,"value":734},{"type":54,"tag":120,"props":5263,"children":5264},{"style":439},[5265],{"type":60,"value":597},{"type":54,"tag":120,"props":5267,"children":5268},{"style":230},[5269],{"type":60,"value":447},{"type":54,"tag":120,"props":5271,"children":5272},{"style":139},[5273],{"type":60,"value":426},{"type":54,"tag":120,"props":5275,"children":5276},{"style":149},[5277],{"type":60,"value":781},{"type":54,"tag":120,"props":5279,"children":5280},{"style":139},[5281],{"type":60,"value":157},{"type":54,"tag":120,"props":5283,"children":5284},{"style":139},[5285],{"type":60,"value":180},{"type":54,"tag":120,"props":5287,"children":5288},{"style":183},[5289],{"type":60,"value":794},{"type":54,"tag":120,"props":5291,"children":5292},{"style":139},[5293],{"type":60,"value":191},{"type":54,"tag":120,"props":5295,"children":5296},{"style":139},[5297],{"type":60,"value":356},{"type":54,"tag":120,"props":5299,"children":5300},{"style":230},[5301],{"type":60,"value":824},{"type":54,"tag":120,"props":5303,"children":5304},{"class":122,"line":165},[5305],{"type":54,"tag":120,"props":5306,"children":5307},{"emptyLinePlaceholder":249},[5308],{"type":60,"value":252},{"type":54,"tag":120,"props":5310,"children":5311},{"class":122,"line":36},[5312],{"type":54,"tag":120,"props":5313,"children":5314},{"style":259},[5315],{"type":60,"value":5316},"\u002F\u002F v6 (current)\n",{"type":54,"tag":120,"props":5318,"children":5319},{"class":122,"line":236},[5320,5324,5328,5332,5336,5340,5344,5348,5352,5356,5360,5364],{"type":54,"tag":120,"props":5321,"children":5322},{"style":127},[5323],{"type":60,"value":4489},{"type":54,"tag":120,"props":5325,"children":5326},{"style":139},[5327],{"type":60,"value":346},{"type":54,"tag":120,"props":5329,"children":5330},{"style":230},[5331],{"type":60,"value":706},{"type":54,"tag":120,"props":5333,"children":5334},{"style":139},[5335],{"type":60,"value":711},{"type":54,"tag":120,"props":5337,"children":5338},{"style":230},[5339],{"type":60,"value":716},{"type":54,"tag":120,"props":5341,"children":5342},{"style":139},[5343],{"type":60,"value":711},{"type":54,"tag":120,"props":5345,"children":5346},{"style":230},[5347],{"type":60,"value":4514},{"type":54,"tag":120,"props":5349,"children":5350},{"style":139},[5351],{"type":60,"value":1945},{"type":54,"tag":120,"props":5353,"children":5354},{"style":139},[5355],{"type":60,"value":734},{"type":54,"tag":120,"props":5357,"children":5358},{"style":439},[5359],{"type":60,"value":597},{"type":54,"tag":120,"props":5361,"children":5362},{"style":230},[5363],{"type":60,"value":447},{"type":54,"tag":120,"props":5365,"children":5366},{"style":139},[5367],{"type":60,"value":747},{"type":54,"tag":120,"props":5369,"children":5370},{"class":122,"line":245},[5371,5375,5379,5383,5387,5391,5395,5399,5403,5407,5411,5415,5419,5423],{"type":54,"tag":120,"props":5372,"children":5373},{"style":149},[5374],{"type":60,"value":4550},{"type":54,"tag":120,"props":5376,"children":5377},{"style":139},[5378],{"type":60,"value":157},{"type":54,"tag":120,"props":5380,"children":5381},{"style":139},[5382],{"type":60,"value":764},{"type":54,"tag":120,"props":5384,"children":5385},{"style":439},[5386],{"type":60,"value":634},{"type":54,"tag":120,"props":5388,"children":5389},{"style":230},[5390],{"type":60,"value":447},{"type":54,"tag":120,"props":5392,"children":5393},{"style":139},[5394],{"type":60,"value":426},{"type":54,"tag":120,"props":5396,"children":5397},{"style":149},[5398],{"type":60,"value":781},{"type":54,"tag":120,"props":5400,"children":5401},{"style":139},[5402],{"type":60,"value":157},{"type":54,"tag":120,"props":5404,"children":5405},{"style":139},[5406],{"type":60,"value":180},{"type":54,"tag":120,"props":5408,"children":5409},{"style":183},[5410],{"type":60,"value":794},{"type":54,"tag":120,"props":5412,"children":5413},{"style":139},[5414],{"type":60,"value":191},{"type":54,"tag":120,"props":5416,"children":5417},{"style":139},[5418],{"type":60,"value":356},{"type":54,"tag":120,"props":5420,"children":5421},{"style":230},[5422],{"type":60,"value":462},{"type":54,"tag":120,"props":5424,"children":5425},{"style":139},[5426],{"type":60,"value":811},{"type":54,"tag":120,"props":5428,"children":5429},{"class":122,"line":255},[5430,5434],{"type":54,"tag":120,"props":5431,"children":5432},{"style":139},[5433],{"type":60,"value":1945},{"type":54,"tag":120,"props":5435,"children":5436},{"style":230},[5437],{"type":60,"value":824},{"type":54,"tag":69,"props":5439,"children":5441},{"id":5440},"decision-tree",[5442],{"type":60,"value":5443},"Decision Tree",{"type":54,"tag":109,"props":5445,"children":5449},{"className":5446,"code":5448,"language":60},[5447],"language-text","Building a chat UI with AI SDK v6?\n  └─ Want pre-built components?\n       └─ Yes → Use AI Elements (⤳ skill: ai-elements)\n       └─ No → Manual rendering with parts iteration\n            └─ Tool results look like JSON?\n                 └─ Create ToolResultCard components for each tool's output shape\n            └─ Text not rendering?\n                 └─ Check part.type === 'text' and use part.text\n            └─ Server errors?\n                 └─ Check: await convertToModelMessages(), toUIMessageStreamResponse()\n",[5450],{"type":54,"tag":92,"props":5451,"children":5452},{"__ignoreMap":114},[5453],{"type":60,"value":5448},{"type":54,"tag":69,"props":5455,"children":5457},{"id":5456},"server-side-message-validation",[5458],{"type":60,"value":5459},"Server-Side Message Validation",{"type":54,"tag":63,"props":5461,"children":5462},{},[5463,5465,5471],{"type":60,"value":5464},"Use ",{"type":54,"tag":92,"props":5466,"children":5468},{"className":5467},[],[5469],{"type":60,"value":5470},"validateUIMessages",{"type":60,"value":5472}," to validate incoming messages before processing:",{"type":54,"tag":109,"props":5474,"children":5476},{"className":111,"code":5475,"language":113,"meta":114,"style":114},"import { validateUIMessages, convertToModelMessages, streamText, gateway } from 'ai'\n\nexport async function POST(req: Request) {\n  const { messages } = await req.json()\n  const validatedMessages = validateUIMessages(messages)\n  const modelMessages = await convertToModelMessages(validatedMessages)\n  \u002F\u002F ...\n}\n",[5477],{"type":54,"tag":92,"props":5478,"children":5479},{"__ignoreMap":114},[5480,5540,5547,5590,5633,5665,5701,5709],{"type":54,"tag":120,"props":5481,"children":5482},{"class":122,"line":123},[5483,5487,5491,5496,5500,5504,5508,5512,5516,5520,5524,5528,5532,5536],{"type":54,"tag":120,"props":5484,"children":5485},{"style":338},[5486],{"type":60,"value":341},{"type":54,"tag":120,"props":5488,"children":5489},{"style":139},[5490],{"type":60,"value":346},{"type":54,"tag":120,"props":5492,"children":5493},{"style":230},[5494],{"type":60,"value":5495}," validateUIMessages",{"type":54,"tag":120,"props":5497,"children":5498},{"style":139},[5499],{"type":60,"value":711},{"type":54,"tag":120,"props":5501,"children":5502},{"style":230},[5503],{"type":60,"value":4057},{"type":54,"tag":120,"props":5505,"children":5506},{"style":139},[5507],{"type":60,"value":711},{"type":54,"tag":120,"props":5509,"children":5510},{"style":230},[5511],{"type":60,"value":4048},{"type":54,"tag":120,"props":5513,"children":5514},{"style":139},[5515],{"type":60,"value":711},{"type":54,"tag":120,"props":5517,"children":5518},{"style":230},[5519],{"type":60,"value":4066},{"type":54,"tag":120,"props":5521,"children":5522},{"style":139},[5523],{"type":60,"value":356},{"type":54,"tag":120,"props":5525,"children":5526},{"style":338},[5527],{"type":60,"value":361},{"type":54,"tag":120,"props":5529,"children":5530},{"style":139},[5531],{"type":60,"value":180},{"type":54,"tag":120,"props":5533,"children":5534},{"style":183},[5535],{"type":60,"value":651},{"type":54,"tag":120,"props":5537,"children":5538},{"style":139},[5539],{"type":60,"value":210},{"type":54,"tag":120,"props":5541,"children":5542},{"class":122,"line":145},[5543],{"type":54,"tag":120,"props":5544,"children":5545},{"emptyLinePlaceholder":249},[5546],{"type":60,"value":252},{"type":54,"tag":120,"props":5548,"children":5549},{"class":122,"line":165},[5550,5554,5558,5562,5566,5570,5574,5578,5582,5586],{"type":54,"tag":120,"props":5551,"children":5552},{"style":338},[5553],{"type":60,"value":670},{"type":54,"tag":120,"props":5555,"children":5556},{"style":127},[5557],{"type":60,"value":4105},{"type":54,"tag":120,"props":5559,"children":5560},{"style":127},[5561],{"type":60,"value":675},{"type":54,"tag":120,"props":5563,"children":5564},{"style":439},[5565],{"type":60,"value":4114},{"type":54,"tag":120,"props":5567,"children":5568},{"style":139},[5569],{"type":60,"value":447},{"type":54,"tag":120,"props":5571,"children":5572},{"style":454},[5573],{"type":60,"value":4123},{"type":54,"tag":120,"props":5575,"children":5576},{"style":139},[5577],{"type":60,"value":157},{"type":54,"tag":120,"props":5579,"children":5580},{"style":133},[5581],{"type":60,"value":4132},{"type":54,"tag":120,"props":5583,"children":5584},{"style":139},[5585],{"type":60,"value":462},{"type":54,"tag":120,"props":5587,"children":5588},{"style":139},[5589],{"type":60,"value":142},{"type":54,"tag":120,"props":5591,"children":5592},{"class":122,"line":36},[5593,5597,5601,5605,5609,5613,5617,5621,5625,5629],{"type":54,"tag":120,"props":5594,"children":5595},{"style":127},[5596],{"type":60,"value":697},{"type":54,"tag":120,"props":5598,"children":5599},{"style":139},[5600],{"type":60,"value":346},{"type":54,"tag":120,"props":5602,"children":5603},{"style":230},[5604],{"type":60,"value":706},{"type":54,"tag":120,"props":5606,"children":5607},{"style":139},[5608],{"type":60,"value":356},{"type":54,"tag":120,"props":5610,"children":5611},{"style":139},[5612],{"type":60,"value":734},{"type":54,"tag":120,"props":5614,"children":5615},{"style":338},[5616],{"type":60,"value":4168},{"type":54,"tag":120,"props":5618,"children":5619},{"style":230},[5620],{"type":60,"value":4173},{"type":54,"tag":120,"props":5622,"children":5623},{"style":139},[5624],{"type":60,"value":436},{"type":54,"tag":120,"props":5626,"children":5627},{"style":439},[5628],{"type":60,"value":4182},{"type":54,"tag":120,"props":5630,"children":5631},{"style":149},[5632],{"type":60,"value":4187},{"type":54,"tag":120,"props":5634,"children":5635},{"class":122,"line":236},[5636,5640,5645,5649,5653,5657,5661],{"type":54,"tag":120,"props":5637,"children":5638},{"style":127},[5639],{"type":60,"value":697},{"type":54,"tag":120,"props":5641,"children":5642},{"style":230},[5643],{"type":60,"value":5644}," validatedMessages",{"type":54,"tag":120,"props":5646,"children":5647},{"style":139},[5648],{"type":60,"value":734},{"type":54,"tag":120,"props":5650,"children":5651},{"style":439},[5652],{"type":60,"value":5495},{"type":54,"tag":120,"props":5654,"children":5655},{"style":149},[5656],{"type":60,"value":447},{"type":54,"tag":120,"props":5658,"children":5659},{"style":230},[5660],{"type":60,"value":431},{"type":54,"tag":120,"props":5662,"children":5663},{"style":149},[5664],{"type":60,"value":824},{"type":54,"tag":120,"props":5666,"children":5667},{"class":122,"line":245},[5668,5672,5676,5680,5684,5688,5692,5697],{"type":54,"tag":120,"props":5669,"children":5670},{"style":127},[5671],{"type":60,"value":697},{"type":54,"tag":120,"props":5673,"children":5674},{"style":230},[5675],{"type":60,"value":4214},{"type":54,"tag":120,"props":5677,"children":5678},{"style":139},[5679],{"type":60,"value":734},{"type":54,"tag":120,"props":5681,"children":5682},{"style":338},[5683],{"type":60,"value":4168},{"type":54,"tag":120,"props":5685,"children":5686},{"style":439},[5687],{"type":60,"value":4057},{"type":54,"tag":120,"props":5689,"children":5690},{"style":149},[5691],{"type":60,"value":447},{"type":54,"tag":120,"props":5693,"children":5694},{"style":230},[5695],{"type":60,"value":5696},"validatedMessages",{"type":54,"tag":120,"props":5698,"children":5699},{"style":149},[5700],{"type":60,"value":824},{"type":54,"tag":120,"props":5702,"children":5703},{"class":122,"line":255},[5704],{"type":54,"tag":120,"props":5705,"children":5706},{"style":259},[5707],{"type":60,"value":5708},"  \u002F\u002F ...\n",{"type":54,"tag":120,"props":5710,"children":5711},{"class":122,"line":265},[5712],{"type":54,"tag":120,"props":5713,"children":5714},{"style":139},[5715],{"type":60,"value":242},{"type":54,"tag":69,"props":5717,"children":5719},{"id":5718},"official-documentation",[5720],{"type":60,"value":5721},"Official Documentation",{"type":54,"tag":5723,"props":5724,"children":5725},"ul",{},[5726,5739,5749,5759],{"type":54,"tag":5727,"props":5728,"children":5729},"li",{},[5730],{"type":54,"tag":5731,"props":5732,"children":5736},"a",{"href":5733,"rel":5734},"https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui",[5735],"nofollow",[5737],{"type":60,"value":5738},"AI SDK UI",{"type":54,"tag":5727,"props":5740,"children":5741},{},[5742],{"type":54,"tag":5731,"props":5743,"children":5746},{"href":5744,"rel":5745},"https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui\u002Fchatbot",[5735],[5747],{"type":60,"value":5748},"useChat Reference",{"type":54,"tag":5727,"props":5750,"children":5751},{},[5752],{"type":54,"tag":5731,"props":5753,"children":5756},{"href":5754,"rel":5755},"https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Freference\u002Fai-sdk-core\u002Fui-message",[5735],[5757],{"type":60,"value":5758},"UIMessage Types",{"type":54,"tag":5727,"props":5760,"children":5761},{},[5762],{"type":54,"tag":5731,"props":5763,"children":5766},{"href":5764,"rel":5765},"https:\u002F\u002Fai-sdk.dev\u002Felements",[5735],[5767],{"type":60,"value":5768},"AI Elements",{"type":54,"tag":5770,"props":5771,"children":5772},"style",{},[5773],{"type":60,"value":5774},"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":5776,"total":5977},[5777,5798,5821,5838,5854,5873,5892,5904,5920,5934,5946,5961],{"slug":5778,"name":5778,"fn":5779,"description":5780,"org":5781,"tags":5782,"stars":5795,"repoUrl":5796,"updatedAt":5797},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5783,5786,5789,5792],{"name":5784,"slug":5785,"type":15},"Documents","documents",{"name":5787,"slug":5788,"type":15},"Healthcare","healthcare",{"name":5790,"slug":5791,"type":15},"Insurance","insurance",{"name":5793,"slug":5794,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":5799,"name":5799,"fn":5800,"description":5801,"org":5802,"tags":5803,"stars":5818,"repoUrl":5819,"updatedAt":5820},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5804,5807,5809,5812,5815],{"name":5805,"slug":5806,"type":15},".NET","dotnet",{"name":5808,"slug":5799,"type":15},"ASP.NET Core",{"name":5810,"slug":5811,"type":15},"Blazor","blazor",{"name":5813,"slug":5814,"type":15},"C#","csharp",{"name":5816,"slug":5817,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":5822,"name":5822,"fn":5823,"description":5824,"org":5825,"tags":5826,"stars":5818,"repoUrl":5819,"updatedAt":5837},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5827,5830,5833,5836],{"name":5828,"slug":5829,"type":15},"Apps SDK","apps-sdk",{"name":5831,"slug":5832,"type":15},"ChatGPT","chatgpt",{"name":5834,"slug":5835,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":5839,"name":5839,"fn":5840,"description":5841,"org":5842,"tags":5843,"stars":5818,"repoUrl":5819,"updatedAt":5853},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5844,5847,5850],{"name":5845,"slug":5846,"type":15},"API Development","api-development",{"name":5848,"slug":5849,"type":15},"CLI","cli",{"name":5851,"slug":5852,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":5855,"name":5855,"fn":5856,"description":5857,"org":5858,"tags":5859,"stars":5818,"repoUrl":5819,"updatedAt":5872},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5860,5863,5866,5869],{"name":5861,"slug":5862,"type":15},"Cloudflare","cloudflare",{"name":5864,"slug":5865,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":5867,"slug":5868,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":5870,"slug":5871,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":5874,"name":5874,"fn":5875,"description":5876,"org":5877,"tags":5878,"stars":5818,"repoUrl":5819,"updatedAt":5891},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5879,5882,5885,5888],{"name":5880,"slug":5881,"type":15},"Productivity","productivity",{"name":5883,"slug":5884,"type":15},"Project Management","project-management",{"name":5886,"slug":5887,"type":15},"Strategy","strategy",{"name":5889,"slug":5890,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":5893,"name":5893,"fn":5894,"description":5895,"org":5896,"tags":5897,"stars":5818,"repoUrl":5819,"updatedAt":5903},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5898,5899,5901,5902],{"name":20,"slug":21,"type":15},{"name":5900,"slug":5893,"type":15},"Figma",{"name":17,"slug":18,"type":15},{"name":5834,"slug":5835,"type":15},"2026-04-12T05:06:47.939943",{"slug":5905,"name":5905,"fn":5906,"description":5907,"org":5908,"tags":5909,"stars":5818,"repoUrl":5819,"updatedAt":5919},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5910,5911,5914,5915,5916],{"name":20,"slug":21,"type":15},{"name":5912,"slug":5913,"type":15},"Design System","design-system",{"name":5900,"slug":5893,"type":15},{"name":17,"slug":18,"type":15},{"name":5917,"slug":5918,"type":15},"UI Components","ui-components","2026-05-10T05:59:52.971881",{"slug":5921,"name":5921,"fn":5922,"description":5923,"org":5924,"tags":5925,"stars":5818,"repoUrl":5819,"updatedAt":5933},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5926,5927,5928,5931,5932],{"name":20,"slug":21,"type":15},{"name":5912,"slug":5913,"type":15},{"name":5929,"slug":5930,"type":15},"Documentation","documentation",{"name":5900,"slug":5893,"type":15},{"name":17,"slug":18,"type":15},"2026-05-16T06:07:47.821474",{"slug":5935,"name":5935,"fn":5936,"description":5937,"org":5938,"tags":5939,"stars":5818,"repoUrl":5819,"updatedAt":5945},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5940,5941,5942,5943,5944],{"name":20,"slug":21,"type":15},{"name":5900,"slug":5893,"type":15},{"name":17,"slug":18,"type":15},{"name":5917,"slug":5918,"type":15},{"name":5816,"slug":5817,"type":15},"2026-05-16T06:07:40.583615",{"slug":5947,"name":5947,"fn":5948,"description":5949,"org":5950,"tags":5951,"stars":5818,"repoUrl":5819,"updatedAt":5960},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5952,5955,5956,5959],{"name":5953,"slug":5954,"type":15},"Animation","animation",{"name":5851,"slug":5852,"type":15},{"name":5957,"slug":5958,"type":15},"Creative","creative",{"name":20,"slug":21,"type":15},"2026-05-02T05:31:48.48485",{"slug":5962,"name":5962,"fn":5963,"description":5964,"org":5965,"tags":5966,"stars":5818,"repoUrl":5819,"updatedAt":5976},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5967,5968,5969,5972,5975],{"name":5957,"slug":5958,"type":15},{"name":20,"slug":21,"type":15},{"name":5970,"slug":5971,"type":15},"Image Generation","image-generation",{"name":5973,"slug":5974,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675,{"items":5979,"total":6093},[5980,5997,6013,6025,6043,6061,6081],{"slug":5981,"name":5981,"fn":5982,"description":5983,"org":5984,"tags":5985,"stars":22,"repoUrl":23,"updatedAt":5996},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5986,5989,5992,5995],{"name":5987,"slug":5988,"type":15},"Accessibility","accessibility",{"name":5990,"slug":5991,"type":15},"Charts","charts",{"name":5993,"slug":5994,"type":15},"Data Visualization","data-visualization",{"name":20,"slug":21,"type":15},"2026-06-30T19:00:57.102",{"slug":5998,"name":5998,"fn":5999,"description":6000,"org":6001,"tags":6002,"stars":22,"repoUrl":23,"updatedAt":6012},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6003,6006,6009],{"name":6004,"slug":6005,"type":15},"Agents","agents",{"name":6007,"slug":6008,"type":15},"Browser Automation","browser-automation",{"name":6010,"slug":6011,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":6014,"name":6014,"fn":6015,"description":6016,"org":6017,"tags":6018,"stars":22,"repoUrl":23,"updatedAt":6024},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6019,6020,6023],{"name":6007,"slug":6008,"type":15},{"name":6021,"slug":6022,"type":15},"Local Development","local-development",{"name":6010,"slug":6011,"type":15},"2026-04-06T18:41:17.526867",{"slug":6026,"name":6026,"fn":6027,"description":6028,"org":6029,"tags":6030,"stars":22,"repoUrl":23,"updatedAt":6042},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6031,6032,6033,6036,6039],{"name":6004,"slug":6005,"type":15},{"name":5867,"slug":5868,"type":15},{"name":6034,"slug":6035,"type":15},"SDK","sdk",{"name":6037,"slug":6038,"type":15},"Serverless","serverless",{"name":6040,"slug":6041,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":6044,"name":6044,"fn":6045,"description":6046,"org":6047,"tags":6048,"stars":22,"repoUrl":23,"updatedAt":6060},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6049,6050,6053,6056,6057],{"name":17,"slug":18,"type":15},{"name":6051,"slug":6052,"type":15},"React","react",{"name":6054,"slug":6055,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":5917,"slug":5918,"type":15},{"name":6058,"slug":6059,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":6062,"name":6062,"fn":6063,"description":6064,"org":6065,"tags":6066,"stars":22,"repoUrl":23,"updatedAt":6080},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6067,6070,6073,6076,6079],{"name":6068,"slug":6069,"type":15},"AI Infrastructure","ai-infrastructure",{"name":6071,"slug":6072,"type":15},"Cost Optimization","cost-optimization",{"name":6074,"slug":6075,"type":15},"LLM","llm",{"name":6077,"slug":6078,"type":15},"Performance","performance",{"name":6058,"slug":6059,"type":15},"2026-04-06T18:40:44.377464",{"slug":6082,"name":6082,"fn":6083,"description":6084,"org":6085,"tags":6086,"stars":22,"repoUrl":23,"updatedAt":6092},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6087,6088,6091],{"name":6071,"slug":6072,"type":15},{"name":6089,"slug":6090,"type":15},"Database","database",{"name":6074,"slug":6075,"type":15},"2026-04-06T18:41:08.513425",600]