[{"data":1,"prerenderedAt":423},["ShallowReactive",2],{"docs:\u002Fdocs\u002Fintegrations\u002Fvercel-ai":3},{"id":4,"title":5,"body":6,"description":414,"extension":415,"meta":416,"navigation":417,"path":419,"seo":420,"stem":421,"__hash__":422},"docs\u002Fdocs\u002Fintegrations\u002Fvercel-ai.md","Vercel AI SDK",{"type":7,"value":8,"toc":411},"minimark",[9,35,362,382,387,407],[10,11,16],"pre",{"className":12,"code":13,"language":14,"meta":15,"style":15},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bun add @iqrar\u002Fagent\n","bash","",[17,18,19],"code",{"__ignoreMap":15},[20,21,24,28,32],"span",{"class":22,"line":23},"line",1,[20,25,27],{"class":26},"sBMFI","bun",[20,29,31],{"class":30},"sfazB"," add",[20,33,34],{"class":30}," @iqrar\u002Fagent\n",[10,36,40],{"className":37,"code":38,"language":39,"meta":15,"style":15},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { streamText } from \"ai\";\nimport { openai } from \"@ai-sdk\u002Fopenai\";\nimport { Iqrar } from \"@iqrar\u002Fagent\";\n\nconst iqrar = Iqrar({\n  org: \"acme\",\n  jurisdiction: \"EU\",\n  endpoint: process.env.IQRAR_API,\n  agentId: \"next-app\",\n  capabilities: [\"consumer_chatbot\"],\n});\n\nconst wrappedStreamText = iqrar.wrap(streamText);\n\nconst result = await wrappedStreamText({\n  model: openai(\"gpt-4o\"),\n  messages,\n  tools,\n});\n","ts",[17,41,42,74,97,120,127,149,169,186,210,227,250,261,266,289,294,314,337,345,353],{"__ignoreMap":15},[20,43,44,48,52,56,59,62,65,68,71],{"class":22,"line":23},[20,45,47],{"class":46},"s7zQu","import",[20,49,51],{"class":50},"sMK4o"," {",[20,53,55],{"class":54},"sTEyZ"," streamText",[20,57,58],{"class":50}," }",[20,60,61],{"class":46}," from",[20,63,64],{"class":50}," \"",[20,66,67],{"class":30},"ai",[20,69,70],{"class":50},"\"",[20,72,73],{"class":50},";\n",[20,75,77,79,81,84,86,88,90,93,95],{"class":22,"line":76},2,[20,78,47],{"class":46},[20,80,51],{"class":50},[20,82,83],{"class":54}," openai",[20,85,58],{"class":50},[20,87,61],{"class":46},[20,89,64],{"class":50},[20,91,92],{"class":30},"@ai-sdk\u002Fopenai",[20,94,70],{"class":50},[20,96,73],{"class":50},[20,98,100,102,104,107,109,111,113,116,118],{"class":22,"line":99},3,[20,101,47],{"class":46},[20,103,51],{"class":50},[20,105,106],{"class":54}," Iqrar",[20,108,58],{"class":50},[20,110,61],{"class":46},[20,112,64],{"class":50},[20,114,115],{"class":30},"@iqrar\u002Fagent",[20,117,70],{"class":50},[20,119,73],{"class":50},[20,121,123],{"class":22,"line":122},4,[20,124,126],{"emptyLinePlaceholder":125},true,"\n",[20,128,130,134,137,140,143,146],{"class":22,"line":129},5,[20,131,133],{"class":132},"spNyl","const",[20,135,136],{"class":54}," iqrar ",[20,138,139],{"class":50},"=",[20,141,106],{"class":142},"s2Zo4",[20,144,145],{"class":54},"(",[20,147,148],{"class":50},"{\n",[20,150,152,156,159,161,164,166],{"class":22,"line":151},6,[20,153,155],{"class":154},"swJcz","  org",[20,157,158],{"class":50},":",[20,160,64],{"class":50},[20,162,163],{"class":30},"acme",[20,165,70],{"class":50},[20,167,168],{"class":50},",\n",[20,170,172,175,177,179,182,184],{"class":22,"line":171},7,[20,173,174],{"class":154},"  jurisdiction",[20,176,158],{"class":50},[20,178,64],{"class":50},[20,180,181],{"class":30},"EU",[20,183,70],{"class":50},[20,185,168],{"class":50},[20,187,189,192,194,197,200,203,205,208],{"class":22,"line":188},8,[20,190,191],{"class":154},"  endpoint",[20,193,158],{"class":50},[20,195,196],{"class":54}," process",[20,198,199],{"class":50},".",[20,201,202],{"class":54},"env",[20,204,199],{"class":50},[20,206,207],{"class":54},"IQRAR_API",[20,209,168],{"class":50},[20,211,213,216,218,220,223,225],{"class":22,"line":212},9,[20,214,215],{"class":154},"  agentId",[20,217,158],{"class":50},[20,219,64],{"class":50},[20,221,222],{"class":30},"next-app",[20,224,70],{"class":50},[20,226,168],{"class":50},[20,228,230,233,235,238,240,243,245,248],{"class":22,"line":229},10,[20,231,232],{"class":154},"  capabilities",[20,234,158],{"class":50},[20,236,237],{"class":54}," [",[20,239,70],{"class":50},[20,241,242],{"class":30},"consumer_chatbot",[20,244,70],{"class":50},[20,246,247],{"class":54},"]",[20,249,168],{"class":50},[20,251,253,256,259],{"class":22,"line":252},11,[20,254,255],{"class":50},"}",[20,257,258],{"class":54},")",[20,260,73],{"class":50},[20,262,264],{"class":22,"line":263},12,[20,265,126],{"emptyLinePlaceholder":125},[20,267,269,271,274,276,279,281,284,287],{"class":22,"line":268},13,[20,270,133],{"class":132},[20,272,273],{"class":54}," wrappedStreamText ",[20,275,139],{"class":50},[20,277,278],{"class":54}," iqrar",[20,280,199],{"class":50},[20,282,283],{"class":142},"wrap",[20,285,286],{"class":54},"(streamText)",[20,288,73],{"class":50},[20,290,292],{"class":22,"line":291},14,[20,293,126],{"emptyLinePlaceholder":125},[20,295,297,299,302,304,307,310,312],{"class":22,"line":296},15,[20,298,133],{"class":132},[20,300,301],{"class":54}," result ",[20,303,139],{"class":50},[20,305,306],{"class":46}," await",[20,308,309],{"class":142}," wrappedStreamText",[20,311,145],{"class":54},[20,313,148],{"class":50},[20,315,317,320,322,324,326,328,331,333,335],{"class":22,"line":316},16,[20,318,319],{"class":154},"  model",[20,321,158],{"class":50},[20,323,83],{"class":142},[20,325,145],{"class":54},[20,327,70],{"class":50},[20,329,330],{"class":30},"gpt-4o",[20,332,70],{"class":50},[20,334,258],{"class":54},[20,336,168],{"class":50},[20,338,340,343],{"class":22,"line":339},17,[20,341,342],{"class":54},"  messages",[20,344,168],{"class":50},[20,346,348,351],{"class":22,"line":347},18,[20,349,350],{"class":54},"  tools",[20,352,168],{"class":50},[20,354,356,358,360],{"class":22,"line":355},19,[20,357,255],{"class":50},[20,359,258],{"class":54},[20,361,73],{"class":50},[363,364,365,366,369,370,373,374,377,378,381],"p",{},"For per-step telemetry, hook the SDK's ",[17,367,368],{},"onStepFinish"," callback and call ",[17,371,372],{},"iqrar.emit(\"agent.step\", { ... })"," from inside it. Token usage from ",[17,375,376],{},"result.usage"," lands in ",[17,379,380],{},"agent.invocation.end"," automatically.",[383,384,386],"h2",{"id":385},"see-also","See also",[388,389,390],"ul",{},[391,392,393,398,399,398,403],"li",{},[394,395,397],"a",{"href":396},"\u002Fdocs\u002Fintegrations\u002Fopenai","OpenAI"," · ",[394,400,402],{"href":401},"\u002Fdocs\u002Fintegrations\u002Fanthropic","Anthropic",[394,404,406],{"href":405},"\u002Fdocs\u002Fintegrations\u002Flangchain","LangChain",[408,409,410],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":15,"searchDepth":76,"depth":76,"links":412},[413],{"id":385,"depth":76,"text":386},"Instrument streamText, generateText, and tool execution from the Vercel AI SDK with Iqrar — works across every provider the SDK supports.","md",{},{"title":5,"order":418},42,"\u002Fdocs\u002Fintegrations\u002Fvercel-ai",{"title":5,"description":414},"docs\u002Fintegrations\u002Fvercel-ai","pzsKqJZw6Xao8VXAS-JMwrAhqq-En8HA0h3UQB1aO6c",1778066782274]