[{"data":1,"prerenderedAt":474},["ShallowReactive",2],{"docs:\u002Fdocs\u002Fintegrations\u002Fopenai":3},{"id":4,"title":5,"body":6,"description":464,"extension":465,"meta":466,"navigation":467,"path":470,"seo":471,"stem":472,"__hash__":473},"docs\u002Fdocs\u002Fintegrations\u002Fopenai.md","OpenAI (TypeScript)",{"type":7,"value":8,"toc":460},"minimark",[9,35,390,397,402,421,425,456],[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 OpenAI from \"openai\";\nimport { Iqrar } from \"@iqrar\u002Fagent\";\n\nconst iqrar = Iqrar({\n  org: \"acme\",\n  jurisdiction: \"EU\",\n  endpoint: process.env.IQRAR_API,\n  agentId: \"support-bot-prod\",\n  capabilities: [\"consumer_chatbot\"],\n});\n\nconst openai = iqrar.wrap(new OpenAI());\n\n\u002F\u002F Every method on `openai` now emits agent.invocation.start\u002F.end events.\nconst completion = await openai.chat.completions.create({\n  model: \"gpt-4o\",\n  messages: [{ role: \"user\", content: \"hello\" }],\n});\n","ts",[17,41,42,68,94,101,123,143,160,184,201,224,235,240,271,276,283,318,335,381],{"__ignoreMap":15},[20,43,44,48,52,55,59,62,65],{"class":22,"line":23},[20,45,47],{"class":46},"s7zQu","import",[20,49,51],{"class":50},"sTEyZ"," OpenAI ",[20,53,54],{"class":46},"from",[20,56,58],{"class":57},"sMK4o"," \"",[20,60,61],{"class":30},"openai",[20,63,64],{"class":57},"\"",[20,66,67],{"class":57},";\n",[20,69,71,73,76,79,82,85,87,90,92],{"class":22,"line":70},2,[20,72,47],{"class":46},[20,74,75],{"class":57}," {",[20,77,78],{"class":50}," Iqrar",[20,80,81],{"class":57}," }",[20,83,84],{"class":46}," from",[20,86,58],{"class":57},[20,88,89],{"class":30},"@iqrar\u002Fagent",[20,91,64],{"class":57},[20,93,67],{"class":57},[20,95,97],{"class":22,"line":96},3,[20,98,100],{"emptyLinePlaceholder":99},true,"\n",[20,102,104,108,111,114,117,120],{"class":22,"line":103},4,[20,105,107],{"class":106},"spNyl","const",[20,109,110],{"class":50}," iqrar ",[20,112,113],{"class":57},"=",[20,115,78],{"class":116},"s2Zo4",[20,118,119],{"class":50},"(",[20,121,122],{"class":57},"{\n",[20,124,126,130,133,135,138,140],{"class":22,"line":125},5,[20,127,129],{"class":128},"swJcz","  org",[20,131,132],{"class":57},":",[20,134,58],{"class":57},[20,136,137],{"class":30},"acme",[20,139,64],{"class":57},[20,141,142],{"class":57},",\n",[20,144,146,149,151,153,156,158],{"class":22,"line":145},6,[20,147,148],{"class":128},"  jurisdiction",[20,150,132],{"class":57},[20,152,58],{"class":57},[20,154,155],{"class":30},"EU",[20,157,64],{"class":57},[20,159,142],{"class":57},[20,161,163,166,168,171,174,177,179,182],{"class":22,"line":162},7,[20,164,165],{"class":128},"  endpoint",[20,167,132],{"class":57},[20,169,170],{"class":50}," process",[20,172,173],{"class":57},".",[20,175,176],{"class":50},"env",[20,178,173],{"class":57},[20,180,181],{"class":50},"IQRAR_API",[20,183,142],{"class":57},[20,185,187,190,192,194,197,199],{"class":22,"line":186},8,[20,188,189],{"class":128},"  agentId",[20,191,132],{"class":57},[20,193,58],{"class":57},[20,195,196],{"class":30},"support-bot-prod",[20,198,64],{"class":57},[20,200,142],{"class":57},[20,202,204,207,209,212,214,217,219,222],{"class":22,"line":203},9,[20,205,206],{"class":128},"  capabilities",[20,208,132],{"class":57},[20,210,211],{"class":50}," [",[20,213,64],{"class":57},[20,215,216],{"class":30},"consumer_chatbot",[20,218,64],{"class":57},[20,220,221],{"class":50},"]",[20,223,142],{"class":57},[20,225,227,230,233],{"class":22,"line":226},10,[20,228,229],{"class":57},"}",[20,231,232],{"class":50},")",[20,234,67],{"class":57},[20,236,238],{"class":22,"line":237},11,[20,239,100],{"emptyLinePlaceholder":99},[20,241,243,245,248,250,253,255,258,260,263,266,269],{"class":22,"line":242},12,[20,244,107],{"class":106},[20,246,247],{"class":50}," openai ",[20,249,113],{"class":57},[20,251,252],{"class":50}," iqrar",[20,254,173],{"class":57},[20,256,257],{"class":116},"wrap",[20,259,119],{"class":50},[20,261,262],{"class":57},"new",[20,264,265],{"class":116}," OpenAI",[20,267,268],{"class":50},"())",[20,270,67],{"class":57},[20,272,274],{"class":22,"line":273},13,[20,275,100],{"emptyLinePlaceholder":99},[20,277,279],{"class":22,"line":278},14,[20,280,282],{"class":281},"sHwdD","\u002F\u002F Every method on `openai` now emits agent.invocation.start\u002F.end events.\n",[20,284,286,288,291,293,296,299,301,304,306,309,311,314,316],{"class":22,"line":285},15,[20,287,107],{"class":106},[20,289,290],{"class":50}," completion ",[20,292,113],{"class":57},[20,294,295],{"class":46}," await",[20,297,298],{"class":50}," openai",[20,300,173],{"class":57},[20,302,303],{"class":50},"chat",[20,305,173],{"class":57},[20,307,308],{"class":50},"completions",[20,310,173],{"class":57},[20,312,313],{"class":116},"create",[20,315,119],{"class":50},[20,317,122],{"class":57},[20,319,321,324,326,328,331,333],{"class":22,"line":320},16,[20,322,323],{"class":128},"  model",[20,325,132],{"class":57},[20,327,58],{"class":57},[20,329,330],{"class":30},"gpt-4o",[20,332,64],{"class":57},[20,334,142],{"class":57},[20,336,338,341,343,345,348,351,353,355,358,360,363,366,368,370,373,375,377,379],{"class":22,"line":337},17,[20,339,340],{"class":128},"  messages",[20,342,132],{"class":57},[20,344,211],{"class":50},[20,346,347],{"class":57},"{",[20,349,350],{"class":128}," role",[20,352,132],{"class":57},[20,354,58],{"class":57},[20,356,357],{"class":30},"user",[20,359,64],{"class":57},[20,361,362],{"class":57},",",[20,364,365],{"class":128}," content",[20,367,132],{"class":57},[20,369,58],{"class":57},[20,371,372],{"class":30},"hello",[20,374,64],{"class":57},[20,376,81],{"class":57},[20,378,221],{"class":50},[20,380,142],{"class":57},[20,382,384,386,388],{"class":22,"line":383},18,[20,385,229],{"class":57},[20,387,232],{"class":50},[20,389,67],{"class":57},[391,392,393,396],"p",{},[17,394,395],{},"wrap()"," returns the same type you pass in — your call sites need no changes.",[398,399,401],"h2",{"id":400},"assistants-api","Assistants API",[391,403,404,405,408,409,412,413,416,417,420],{},"The same wrapper instruments ",[17,406,407],{},"openai.beta.threads.runs.create(...)"," and the polling lifecycle. For richer telemetry on the run\u002Fstep level, use ",[17,410,411],{},"iqrar.observe(...)"," around your ",[17,414,415],{},"run.poll()"," loop and emit ",[17,418,419],{},"decision()"," calls when the assistant returns a final answer.",[398,422,424],{"id":423},"see-also","See also",[426,427,428,449],"ul",{},[429,430,431,436,437,436,441,436,445],"li",{},[432,433,435],"a",{"href":434},"\u002Fdocs\u002Fintegrations\u002Fanthropic","Anthropic"," · ",[432,438,440],{"href":439},"\u002Fdocs\u002Fintegrations\u002Fvercel-ai","Vercel AI",[432,442,444],{"href":443},"\u002Fdocs\u002Fintegrations\u002Fmastra","Mastra",[432,446,448],{"href":447},"\u002Fdocs\u002Fintegrations\u002Flangchain","LangChain",[429,450,451,452],{},"Python: ",[432,453,455],{"href":454},"\u002Fdocs\u002Fintegrations\u002Fopenai-agents-python","OpenAI Agents SDK",[457,458,459],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":15,"searchDepth":70,"depth":70,"links":461},[462,463],{"id":400,"depth":70,"text":401},{"id":423,"depth":70,"text":424},"Wrap the OpenAI SDK with Iqrar's three-line drop-in — every chat completion, tool call, and assistant run is instrumented automatically.","md",{},{"title":468,"order":469},"OpenAI",40,"\u002Fdocs\u002Fintegrations\u002Fopenai",{"title":5,"description":464},"docs\u002Fintegrations\u002Fopenai","LJ6eHl7roF0WR6DaO8nAdGkrzmLgvcjpAPfvJbHUN_Q",1778066485939]