1:"$Sreact.fragment"
b:I[168027,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
:HL["/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","style"]
:HL["/docs/_next/static/chunks/138c164f38a04e1a.css?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","style"]
:HL["/docs/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/docs/_next/static/media/PaperMono_Variable.p.4fb029ee.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/docs/_next/static/media/f67ad414ed34149c.p.84166d94.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
0:{"P":null,"b":"umRvvFVwZu11HVVKJVME6","p":"/docs","c":["","_sites","launchdarkly","home","agentcontrol","quickstart"],"i":false,"f":[[["",{"children":["%5Fsites",{"children":[["subdomain","launchdarkly","d"],{"children":["(multitenant)",{"children":[["slug","home/agentcontrol/quickstart","oc"],{"children":["__PAGE__",{}]}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/docs/_next/static/chunks/138c164f38a04e1a.css?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}]],["$","html",null,{"suppressHydrationWarning":true,"lang":"en","className":"inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark","data-banner-state":"visible","data-assistant-state":"closed","data-page-mode":"none","data-current-path":"/","children":[["$","head",null,{"children":[["$","script",null,{"type":"text/javascript","dangerouslySetInnerHTML":{"__html":"!function(){var b=\"/docs\";\nfunction a(p){if(p==null)return\"/\";p=\"\"+p;if(\"\"===p)return\"/\";return\"/\"===p.charAt(0)?p:\"/\"+p}\nfunction u(p){if(p==null)return p;p=\"\"+p;if(!p||p.charAt(p.length-1)===\"/\")return p.slice(0,-1);return p}\nfunction i(p){if(p==null)return p;p=\"\"+p;if(6<=p.length&&p.substring(p.length-6)===\"/index\")return p.substring(0,p.length-6);if(\"index\"===p)return\"\";return p}\nvar p=(location.pathname||\"\").split(\"?\")[0].split(\"#\")[0]||\"\";\nif(b)if(p===b)p=\"\";else if(0===p.indexOf(b+\"/\"))p=p.substring(b.length);\np=a(p);p=u(p);p=i(p);p=\"\"===p||\"index\"===p?\"/\":a(p);\ndocument.documentElement.setAttribute(\"data-current-path\",p);\n}();"}}],["$","script",null,{"type":"text/javascript","dangerouslySetInnerHTML":{"__html":"(() => {\n  const isIOS =\n    /iP(hone|ad|od)/.test(navigator.userAgent) ||\n    (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints > 1);\n  if (!isIOS) return;\n  const apply = () => {\n    for (const meta of document.querySelectorAll('meta[name=\"viewport\"]')) {\n      const content = meta.getAttribute('content') || '';\n      if (!content.includes('maximum-scale')) {\n        meta.setAttribute('content', content + ', maximum-scale=1');\n      }\n    }\n  };\n  apply();\n  new MutationObserver(apply).observe(document.head, {\n    childList: true,\n    subtree: true,\n    attributes: true,\n    attributeFilter: ['content'],\n  });\n})();"}}],["$","script",null,{"type":"text/javascript","dangerouslySetInnerHTML":{"__html":"!function(){\nfunction read(){try{\nvar e=performance.getEntriesByType?performance.getEntriesByType(\"navigation\"):[];\nvar st=(e[0]&&e[0].serverTiming)||[];\nvar g={};\nfor(var i=0;i<st.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}\nif(n===\"country\")g.country=d;else if(n===\"region\")g.region=d;else if(n===\"continent\")g.continent=d;}\nvar w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;\n}catch(x){}}\nread();document.addEventListener(\"DOMContentLoaded\",read);\n}();"}}],["$","script",null,{"type":"text/javascript","dangerouslySetInnerHTML":{"__html":"!function(){try{\nvar w=window;w.mintlify=w.mintlify||{};\nvar q=w.mintlify.__apiPlaygroundInputsQueue;\nif(!Array.isArray(q)){q=[];w.mintlify.__apiPlaygroundInputsQueue=q;}\nw.mintlify.api=w.mintlify.api||{};\nw.mintlify.api.playground=w.mintlify.api.playground||{};\nif(typeof w.mintlify.api.playground.setServerVariables!==\"function\"){\nw.mintlify.api.playground.setServerVariables=function(v){q.push({type:\"set\",variables:v});};\n}\nif(typeof w.mintlify.api.playground.clearServerVariables!==\"function\"){\nw.mintlify.api.playground.clearServerVariables=function(){q.push({type:\"clear\"});};\n}\n}catch(e){}}();"}}],"$L2","$L3",false]}],"$L4"]}]]}],{"children":["%5Fsites","$L5",{"children":[["subdomain","launchdarkly","d"],"$L6",{"children":["(multitenant)","$L7",{"children":[["slug","home/agentcontrol/quickstart","oc"],"$L8",{"children":["__PAGE__","$L9",{},null,false]},null,false]},null,false]},null,false]},null,false]},null,false],"$La",false]],"m":"$undefined","G":["$b",["$Lc","$Ld"]],"s":false,"S":true}
e:I[667786,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"MintlifyApiPlaygroundInputsInit"]
f:I[339756,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
10:I[556357,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c8b375eec2270c2c.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
11:I[837457,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
12:I[894587,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ThemeProvider"]
13:I[152823,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ColorVariables"]
14:I[531961,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"FontScript"]
15:I[649328,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"RoundedVariables"]
16:I[702910,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/b14346e7d23e54de.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"RecommendedPagesList"]
17:I[570420,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"DataCurrentPathUpdater"]
18:I[172816,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"MintlifyNavigateEvents"]
19:I[341175,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/4ff7d0d13a7a10aa.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
1c:I[897367,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"OutletBoundary"]
1e:I[711533,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"AsyncMetadataOutlet"]
20:I[897367,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ViewportBoundary"]
22:I[897367,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"MetadataBoundary"]
23:"$Sreact.suspense"
2:["$","script",null,{"type":"text/javascript","dangerouslySetInnerHTML":{"__html":"(function(){\nif(typeof CSS===\"undefined\"||!(\"registerProperty\" in CSS))return;\nif(CSS.supports&&CSS.supports(\"-webkit-backdrop-filter:none\"))return;\nvar n=[\"--scroll-area-overflow-x-start\",\"--scroll-area-overflow-x-end\",\"--scroll-area-overflow-y-start\",\"--scroll-area-overflow-y-end\"];\nvar d={\"syntax\":\"<length>\",\"inherits\":false,\"initialValue\":\"0px\"};\nfor(var i=0;i<n.length;i++){try{CSS.registerProperty({name:n[i],syntax:d.syntax,inherits:d.inherits,initialValue:d.initialValue})}catch(e){}}\n})();"}}]
3:["$","script",null,{"type":"text/javascript","dangerouslySetInnerHTML":{"__html":"(function(a,b){try{let c=document.getElementById(\"banner\")?.innerText;if(c){for(let d=0;d<localStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)&&localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,\"hidden\")}document.documentElement.setAttribute(b,\"visible\");return}for(let c=0;c<localStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)&&localStorage.getItem(d))return void document.documentElement.setAttribute(b,\"hidden\")}document.documentElement.setAttribute(b,\"visible\")}catch(a){document.documentElement.setAttribute(b,\"hidden\")}})(\n  \"bannerDismissed\",\n  \"data-banner-state\",\n)"}}]
4:["$","body",null,{"className":"antialiased","children":[["$","$Le",null,{}],false,["$","$Lf",null,{"parallelRouterKey":"children","error":"$10","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/docs/_next/static/chunks/c8b375eec2270c2c.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}],["$","script","script-1",{"src":"/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}],["$","script","script-2",{"src":"/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}],["$","script","script-3",{"src":"/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}]],"template":["$","$L11",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L12",null,{"children":[["$","$L13",null,{}],["$","$L14",null,{}],["$","$L15",null,{}],["$","style",null,{"children":":root {\n  --primary: 17 120 102;\n  --primary-light: 74 222 128;\n  --primary-dark: 22 101 52;\n  --background-light: 255 255 255;\n  --background-dark: 15 17 23;\n}"}],["$","main",null,{"className":"h-screen bg-background-light dark:bg-background-dark text-left","children":["$","article",null,{"className":"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full","children":["$","div",null,{"className":"w-full max-w-xl px-10","children":[["$","span",null,{"className":"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary","children":["Error ",404]}],["$","h1",null,{"className":"font-semibold mb-3 text-3xl","children":"Page not found!"}],["$","p",null,{"className":"text-lg text-gray-600 dark:text-gray-400 mb-6","children":"We couldn't find the page."}],["$","$L16",null,{}]]}]}]}]]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],false,["$","$L17",null,{}],["$","$L18",null,{}]]}]
5:["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L11",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
6:["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","error":"$19","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/docs/_next/static/chunks/4ff7d0d13a7a10aa.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}],["$","script","script-1",{"src":"/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}],["$","script","script-2",{"src":"/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}],["$","script","script-3",{"src":"/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true}]],"template":["$","$L11",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L12",null,{"children":[["$","$L13",null,{}],["$","$L14",null,{}],["$","$L15",null,{}],["$","style",null,{"children":":root {\n  --primary: 17 120 102;\n  --primary-light: 74 222 128;\n  --primary-dark: 22 101 52;\n  --background-light: 255 255 255;\n  --background-dark: 15 17 23;\n}"}],["$","main",null,{"className":"h-screen bg-background-light dark:bg-background-dark text-left","children":["$","article",null,{"className":"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full","children":["$","div",null,{"className":"w-full max-w-xl px-10","children":[["$","span",null,{"className":"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary","children":["Error ",404]}],["$","h1",null,{"className":"font-semibold mb-3 text-3xl","children":"Page not found!"}],["$","p",null,{"className":"text-lg text-gray-600 dark:text-gray-400 mb-6","children":"We couldn't find the page."}],["$","$L16",null,{}]]}]}]}]]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]
7:["$","$1","c",{"children":[[["$","script","script-0",{"src":"/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-5",{"src":"/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-6",{"src":"/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-7",{"src":"/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-8",{"src":"/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-9",{"src":"/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-10",{"src":"/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-11",{"src":"/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-12",{"src":"/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-13",{"src":"/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-14",{"src":"/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-15",{"src":"/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-16",{"src":"/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-17",{"src":"/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-18",{"src":"/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}]],"$L1a"]}]
8:["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L11",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
9:["$","$1","c",{"children":["$L1b",[["$","script","script-0",{"src":"/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-5",{"src":"/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}],["$","script","script-6",{"src":"/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","async":true,"nonce":"$undefined"}]],["$","$L1c",null,{"children":["$L1d",["$","$L1e",null,{"promise":"$@1f"}]]}]]}]
a:["$","$1","h",{"children":[null,[["$","$L20",null,{"children":"$L21"}],null],["$","$L22",null,{"children":["$","div",null,{"hidden":true,"children":["$","$23",null,{"fallback":null,"children":"$L24"}]}]}]]}]
c:["$","link","0",{"rel":"stylesheet","href":"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
d:["$","link","1",{"rel":"stylesheet","href":"/docs/_next/static/chunks/138c164f38a04e1a.css?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
21:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, viewport-fit=cover"}]]
1d:null
25:I[707934,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"WebMcpRegistration"]
26:I[590280,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"LivePreviewProvider"]
27:I[973254,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"LivePreviewFavicon"]
28:I[197336,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
29:I[91557,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"AuthProvider"]
2a:I[91557,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"DeploymentMetadataProvider"]
2b:I[91557,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"DocsConfigProvider"]
1a:[null,["$","$L25",null,{"subdomain":"launchdarkly","siteName":"LaunchDarkly"}],["$","$L26",null,{"isLivePreviewRoute":false,"children":[["$","$L27",null,{}],["$","$L12",null,{"appearance":"$undefined","codeblockTheme":"system","children":[["$","blockquote",null,{"className":"sr-only","data-agent-docs-index":true,"aria-hidden":"true","children":[["$","h2",null,{"children":"Documentation Index"}],["$","p",null,{"children":["Fetch the complete documentation index at:"," ",["$","a",null,{"href":"/docs/llms.txt","tabIndex":-1,"children":"/docs/llms.txt"}]]}],["$","p",null,{"children":"Use this file to discover all available pages before exploring further."}]]}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root{--banner-height:0px!important}"}}],null,null,["$","script",null,{"id":"_mintlify-banner-script","dangerouslySetInnerHTML":{"__html":"(function i(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split(\"/\").filter(a=>\"\"!==a&&\"global\"!==a).slice(0,2)}catch{h=[]}let i=h.find(a=>c.includes(a)),j=[];for(let c of(i?j.push(i):j.push(b),j.push(\"global\"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,\"hidden\");let k=!0,l=0;for(;l<localStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b&&b===f){k=!1;break}g&&(a.startsWith(`lang:${g}_`)||!a.startsWith(\"lang:\"))&&(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?\"visible\":\"hidden\")}catch(a){console.error(a),document.documentElement.setAttribute(d,\"hidden\")}})(\n  {},\n  \"en\",\n  [],\n  \"data-banner-state\",\n  \"bannerDismissed\",\n)"},"suppressHydrationWarning":true}],["$","$L28",null,{"appId":"$undefined","autoBoot":true,"children":["$","$L29",null,{"value":{"auth":"$undefined","userAuth":"$undefined"},"children":["$","$L2a",null,{"value":{"subdomain":"launchdarkly","hasAudioNarration":false,"actualSubdomain":"launchdarkly","customDomains":["launchdarkly.com"],"gitSource":{"type":"github","owner":"launchdarkly","repo":"ld-docs-private","deployBranch":"main","contentDirectory":"mintlify","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"73addfc3-d4e7-478e-a55e-ab4c6a6abd16","liveDeploymentHistoryId":"6ac97bd89e4dd03b695caf79","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac97bd89e4dd03b695caf79"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ac97bd89e4dd03b695caf79","clientVersion":"0.0.3813","preview":"$undefined","searchFilterCounts":[{"language":"default","tag":"API docs","count":401},{"language":"default","tag":"Docs","count":327},{"language":"default","tag":"SDKs","count":180},{"language":"default","tag":"Integrations","count":123},{"language":"default","tag":"Feature flags","count":101},{"language":"default","tag":"AgentControl","count":100},{"language":"default","tag":"Guides","count":90},{"language":"default","tag":"Tutorials","count":67},{"language":"default","tag":"Your account","count":64},{"language":"default","tag":"SDK features","count":55}],"searchSettings":{"maxResults":10,"showContentSnippets":true},"disableKonamiCode":"$undefined"},"children":["$","$L2b",null,{"value":{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"LaunchDarkly","colors":{"primary":"#90C610","light":"#CFFC55","dark":"#90C610"},"logo":{"light":"https://mintcdn.com/launchdarkly/ppwc2LYsjE8wwIC_/images/logo/logo-light.svg?fit=max&auto=format&n=ppwc2LYsjE8wwIC_&q=85&s=f4dbea60f22010ab8a14e328c1759864","dark":"https://mintcdn.com/launchdarkly/ppwc2LYsjE8wwIC_/images/logo/logo-dark.svg?fit=max&auto=format&n=ppwc2LYsjE8wwIC_&q=85&s=fda98a01ec19b754a3278af5f3420e2c"},"favicon":"https://mintcdn.com/launchdarkly/ppwc2LYsjE8wwIC_/images/logo/favicon.svg?fit=max&auto=format&n=ppwc2LYsjE8wwIC_&q=85&s=62d28ab95997685e297ea01b92322611","background":{"decoration":"grid","color":{"dark":"#191919"}},"navbar":{"links":[{"href":"https://app.launchdarkly.com/login","label":"Sign in"}],"primary":{"type":"button","label":"Try it free","href":"https://app.launchdarkly.com/signup"}},"fonts":{"heading":{"family":"Audimat","source":"assets/fonts/Audimat3000-Regular.woff2","format":"woff2"},"body":{"family":"Söhne","source":"assets/fonts/Sohne-Buch.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true,"codeblocks":"system"},"navigation":{"pages":[]}},"docsNavWithMetadata":"$undefined","anonymizedNav":"$undefined","hasFullNav":false},"children":"$L2c"}]}]}]}]]}]]}]]
2d:I[604804,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"LoginButtonProvider"]
2e:I[141180,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"SidebarLoginButtonProvider"]
2f:I[343590,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"NavigationContextController"]
30:I[378486,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"PageListProvider"]
31:I[742977,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"PrefetchProvider"]
32:I[237978,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"PageModeOverrideProvider"]
33:I[378896,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ConfiguredVariationProvider"]
34:I[557611,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"Fonts"]
35:I[330080,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"BannerProvider"]
36:I[864506,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"NavbarTransitionScript"]
37:T9e0,(function () {
  var measure = function(){let a=document.querySelectorAll("[id='navbar'], [data-top-chrome]"),b=0;a.forEach(a=>{let c=a.getBoundingClientRect();c.height>0&&(b=Math.max(b,c.bottom))});let c=0,d=document.getElementById("content-container");if(d){let{overflowY:a}=getComputedStyle(d);("auto"===a||"scroll"===a)&&(c=Math.max(0,d.getBoundingClientRect().top))}let e=`${Math.round(Math.max(0,b-c))+40}px`,f=document.documentElement.style;f.getPropertyValue("--scroll-mt")!==e&&f.setProperty("--scroll-mt",e)};
  (function(a){let b=[],c=0,d="undefined"==typeof ResizeObserver?null:new ResizeObserver(f);function e(){let c=Array.from(document.querySelectorAll("[id='navbar'], [data-top-chrome]"));(c.length!==b.length||c.some((a,c)=>a!==b[c]))&&d&&(d.disconnect(),c.forEach(a=>d.observe(a))),b=c,a()}function f(){c||(c=requestAnimationFrame(()=>{c=0,e()}))}let g="[id='navbar'], [data-top-chrome]";function h(a){let b=a.target;if(b instanceof Element&&b.closest(g))return!0;for(let b of a.addedNodes)if(b instanceof Element&&(b.matches(g)||b.querySelector(g)))return!0;for(let b of a.removedNodes)if(b instanceof Element&&(b.matches(g)||b.querySelector(g)))return!0;return!1}new MutationObserver(a=>{a.some(h)&&f()}).observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener("resize",f),"loading"===document.readyState&&document.addEventListener("DOMContentLoaded",e),e()})(measure);
  (function(a){let b=window.location.hash.slice(1);if(!b)return;function c(){return"smooth"===getComputedStyle(document.documentElement).scrollBehavior}function d(c){let d=document.getElementById(b);return!!d&&(a(),d.scrollIntoView(c?{behavior:c}:void 0),!0)}if("complete"===document.readyState)return void d();let e=new MutationObserver(()=>{!c()&&d("instant")&&f()});function f(){e.disconnect(),window.removeEventListener("load",g)}function g(){let a=c();f(),a&&requestAnimationFrame(()=>{d(),function(){let a=["wheel","touchstart","keydown","pointerdown"],c=0,e=window.scrollY,f=setInterval(()=>{c+=1;let a=document.getElementById(b);if(!a||c>=6)return g();let f=Math.abs(window.scrollY-e)>1;if(e=window.scrollY,f)return;let h=parseFloat(getComputedStyle(a).scrollMarginTop)||0;Math.abs(a.getBoundingClientRect().top-h)>4&&d()},350);function g(){clearInterval(f),a.forEach(a=>window.removeEventListener(a,g))}a.forEach(a=>window.addEventListener(a,g,{passive:!0}))}()})}window.addEventListener("load",g),e.observe(document.documentElement,{childList:!0,subtree:!0}),!c()&&d("instant")&&f()})(measure);
})();2c:["$","$L2d",null,{"children":["$","$L2e",null,{"children":["$","$L2f",null,{"children":["$","$L30",null,{"pageListDataMap":{},"children":["$","$L31",null,{"disabled":"$undefined","children":["$","$L32",null,{"children":["$","$L33",null,{"children":[["$","$L14",null,{"fonts":"$1a:2:props:children:1:props:children:5:props:children:props:children:props:children:props:value:docsConfig:fonts","theme":"aspen","subdomain":"launchdarkly"}],[["$","$L13",null,{"docsConfig":"$1a:2:props:children:1:props:children:5:props:children:props:children:props:children:props:value:docsConfig"}],[["$","link",null,{"rel":"preload","href":"https://d4tuoctqmanu0.cloudfront.net/katex.min.css","as":"style"}],["$","script",null,{"type":"text/javascript","children":"\n          (function() {\n            function loadKatex() {\n              const link = document.querySelector('link[href=\"https://d4tuoctqmanu0.cloudfront.net/katex.min.css\"]');\n              if (link) link.rel = 'stylesheet';\n            }\n            if (document.readyState === 'loading') {\n              document.addEventListener('DOMContentLoaded', loadKatex);\n            } else {\n              loadKatex();\n            }\n          })();\n        "}]],["$","$L15",null,{"theme":"aspen"}],["$","$L34",null,{"fonts":"$1a:2:props:children:1:props:children:5:props:children:props:children:props:children:props:value:docsConfig:fonts","children":["$","$L35",null,{"bannersByLocale":{},"subdomain":"launchdarkly","children":[["$","$L36",null,{"theme":"aspen"}],["$","script",null,{"id":"_mintlify-scroll-margin-script","dangerouslySetInnerHTML":{"__html":"$37"},"suppressHydrationWarning":true}],"$L38"]}]}]]]}]}]}]}]}]}]}]
39:I[540345,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ConsentProvider"]
3a:I[529058,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"LocalStorageAndAnalyticsProviders"]
3b:I[958547,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
3c:I[604780,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"CaptchaProvider"]
3d:I[859465,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"AssistantUiProvider"]
3e:I[832740,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"AssistantTransportProviderSelector"]
3f:I[601054,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"SearchProvider"]
40:I[28330,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"SkipToContent"]
41:I[382229,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"AssistantLayoutScript"]
42:I[87732,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"AssistantLayoutWrapper"]
43:I[118717,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/df428ed3786bba44.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"NotFoundHydrator"]
38:["$","$L39",null,{"privacy":"$undefined","children":["$","$L3a",null,{"subdomain":"launchdarkly","isAtlas":false,"children":["$","$L3b",null,{"toggles":[],"children":["$","$L3c",null,{"enabled":true,"children":["$","$L3d","launchdarkly",{"children":["$","$L3e",null,{"children":["$","$L3f",null,{"subdomain":"launchdarkly","hasChatPermissions":true,"isLoggedInCli":false,"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":false}},"starterQuestions":"$undefined","children":[["$","$L40",null,{}],["$","$L41",null,{"hasChatPermissions":true}],false,["$","$L42",null,{"children":[["$","$Lf",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L11",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L43",null,{"source":"multitenant"}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],"$undefined"]}]]}]}]}]}]}]}]}]
1f:{"metadata":[["$","title","0",{"children":"Quickstart for AgentControl - LaunchDarkly"}],["$","meta","1",{"name":"application-name","content":"LaunchDarkly"}],["$","meta","2",{"name":"generator","content":"Mintlify"}],["$","meta","3",{"name":"msapplication-config","content":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon/browserconfig.xml"}],["$","meta","4",{"name":"apple-mobile-web-app-title","content":"LaunchDarkly"}],["$","meta","5",{"name":"msapplication-TileColor","content":"#90C610"}],["$","link","6",{"rel":"canonical","href":"https://launchdarkly.com/docs/home/agentcontrol/quickstart"}],["$","link","7",{"rel":"alternate","type":"application/xml","href":"/docs/sitemap.xml"}],["$","link","8",{"rel":"alternate","type":"text/markdown","href":"/docs/home/agentcontrol/quickstart.md"}],["$","meta","9",{"property":"og:title","content":"Quickstart for AgentControl - LaunchDarkly"}],["$","meta","10",{"property":"og:description","content":"This topic explains how to get started with LaunchDarkly AgentControl to manage, deploy, and update agent configurations without redeploying your application."}],["$","meta","11",{"property":"og:url","content":"https://launchdarkly.com/docs/home/agentcontrol/quickstart"}],["$","meta","12",{"property":"og:site_name","content":"LaunchDarkly"}],["$","meta","13",{"property":"og:image","content":"https://launchdarkly.mintlify.app/_mintlify/api/og/v2?division=Documentation&title=Quickstart+for+AgentControl&theme=1edd9e00afb82abf740c8105&signature=647d0195198b230a7cdd98fca1ea2d511f7b6dbccacd2c3b3bacb20f79dc10bd"}],["$","meta","14",{"property":"og:image:width","content":"1200"}],["$","meta","15",{"property":"og:image:height","content":"630"}],["$","meta","16",{"property":"og:type","content":"website"}],["$","meta","17",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","18",{"name":"twitter:title","content":"Quickstart for AgentControl - LaunchDarkly"}],["$","meta","19",{"name":"twitter:description","content":"This topic explains how to get started with LaunchDarkly AgentControl to manage, deploy, and update agent configurations without redeploying your application."}],["$","meta","20",{"name":"twitter:image","content":"https://launchdarkly.mintlify.app/_mintlify/api/og/v2?division=Documentation&title=Quickstart+for+AgentControl&theme=1edd9e00afb82abf740c8105&signature=647d0195198b230a7cdd98fca1ea2d511f7b6dbccacd2c3b3bacb20f79dc10bd"}],["$","meta","21",{"name":"twitter:image:width","content":"1200"}],["$","meta","22",{"name":"twitter:image:height","content":"630"}],["$","link","23",{"rel":"icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon/android-chrome-192x192.png","type":"image/png","sizes":"192x192","media":"(prefers-color-scheme: light)"}],["$","link","24",{"rel":"apple-touch-icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon/apple-touch-icon.png","type":"image/png","sizes":"180x180","media":"$undefined"}],["$","link","25",{"rel":"icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon/favicon-16x16.png","type":"image/png","sizes":"16x16","media":"(prefers-color-scheme: light)"}],["$","link","26",{"rel":"icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon/favicon-32x32.png","type":"image/png","sizes":"32x32","media":"(prefers-color-scheme: light)"}],["$","link","27",{"rel":"shortcut icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon/favicon.ico","type":"image/x-icon","sizes":"$undefined","media":"(prefers-color-scheme: light)"}],["$","link","28",{"rel":"icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon-dark/android-chrome-192x192.png","type":"image/png","sizes":"192x192","media":"(prefers-color-scheme: dark)"}],["$","link","29",{"rel":"icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon-dark/favicon-16x16.png","type":"image/png","sizes":"16x16","media":"(prefers-color-scheme: dark)"}],"$L44","$L45","$L46"],"error":null,"digest":"$undefined"}
24:"$1f:metadata"
47:I[27201,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"IconMark"]
44:["$","link","30",{"rel":"icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon-dark/favicon-32x32.png","type":"image/png","sizes":"32x32","media":"(prefers-color-scheme: dark)"}]
45:["$","link","31",{"rel":"shortcut icon","href":"/docs/_mintlify/favicons/launchdarkly/1ZzqxX2iveyFEKVQ/_generated/favicon-dark/favicon.ico","type":"image/x-icon","sizes":"$undefined","media":"(prefers-color-scheme: dark)"}]
46:["$","$L47","32",{}]
48:I[597003,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ScopedNavProvider"]
1b:["$","$L48",null,{"scopedNav":{"global":null,"tabs":[{"tab":"Docs","groups":[{"group":"Get started","pages":[{"title":"Welcome to LaunchDarkly Docs","sidebarTitle":"Overview","icon":"sign-post","mode":"wide","description":null,"href":"/home"},{"group":"Onboarding","icon":"rocket","root":{"title":"Onboarding","og:description":"Quickstart guides to get up and running with LaunchDarkly SDKs in minutes.","icon":"rocket","keywords":["onboarding","quickstart","getting started","sdk","setup"],"description":null,"href":"/home/onboarding"},"pages":[{"title":"Set up .NET (server-side) SDK","og:description":"Install and initialize the LaunchDarkly .NET (server-side) SDK to start evaluating feature flags in your application.","keywords":["dotnet",".net","server","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/dotnet-server"},{"title":"Set up Android SDK","og:description":"Install and initialize the LaunchDarkly Android SDK to start evaluating feature flags in your application.","keywords":["android","client","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/android"},{"title":"Set up Go SDK","og:description":"Install and initialize the LaunchDarkly Go SDK to start evaluating feature flags in your application.","keywords":["go","server","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/go"},{"title":"Set up iOS SDK","og:description":"Install and initialize the LaunchDarkly iOS SDK to start evaluating feature flags in your application.","keywords":["ios","client","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/ios"},{"title":"Set up Java (server-side) SDK","og:description":"Install and initialize the LaunchDarkly Java SDK to start evaluating feature flags in your application.","keywords":["java","server","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/java"},{"title":"Set up JavaScript SDK","og:description":"Install and initialize the LaunchDarkly JavaScript SDK to start evaluating feature flags in your application.","keywords":["javascript","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/javascript"},{"title":"Set up Node.js (client-side) SDK","og:description":"Install and initialize the LaunchDarkly Node.js (client-side) SDK to start evaluating feature flags in your application.","keywords":["node","nodejs","client","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/node-client"},{"title":"Set up Node.js (server-side) SDK","og:description":"Install and initialize the LaunchDarkly Node.js (server-side) SDK to start evaluating feature flags in your application.","keywords":["node","nodejs","server","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/node-server"},{"title":"Set up Python SDK","og:description":"Install and initialize the LaunchDarkly Python SDK to start evaluating feature flags in your application.","keywords":["python","server","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/python"},{"title":"Set up React Native SDK","og:description":"Install and initialize the LaunchDarkly React Native SDK to start evaluating feature flags in your application.","keywords":["react","native","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/react-native"},{"title":"Set up React Web SDK","og:description":"Install and initialize the LaunchDarkly React Web SDK to start evaluating feature flags in your application.","keywords":["react","web","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/react-web"},{"title":"Set up Vue SDK","og:description":"Install and initialize the LaunchDarkly Vue SDK to start evaluating feature flags in your application.","keywords":["vue","client","sdk","onboarding","install"],"description":null,"href":"/home/onboarding/vue"}]},{"group":"Get started","icon":"flag","root":{"title":"Get started with LaunchDarkly","og:description":"This topic walks you through creating a LaunchDarkly account, installing an SDK, and creating and targeting your first feature flag.","icon":"flag","keywords":["get started","getting started","quickstart","new account","new user","sign up","free trial"],"description":null,"href":"/home/getting-started"},"pages":[{"title":"Exploring sample data","og:description":"This topic explains the sample flags, metrics, segments, and context kinds that LaunchDarkly creates for new trial accounts. It also explains how to use them to learn what LaunchDarkly can do.","keywords":["sample data","trial","onboarding","flags","segments","metrics","context kinds"],"description":null,"href":"/home/getting-started/sample-data"},{"group":"Developer tools","root":{"title":"Developer tools","og:description":"LaunchDarkly offers several developer tools to help you work faster and more efficiently.","keywords":["developer","tools"],"description":null,"href":"/home/getting-started/dev-tools"},"pages":[{"group":"Vega","root":{"title":"Vega","og:description":"This topic explains Vega, the LaunchDarkly AI-powered agent for investigating and fixing issues and managing feature flags.","keywords":["ai agent","launchdarkly ai","getting started","vega"],"description":null,"href":"/home/getting-started/vega"},"pages":[{"title":"Connecting Vega to GitHub","og:description":"This topic explains how to connect Vega to your GitHub account so that Vega can read code,  make code changes, and open pull requests.","keywords":["vega","github","integration"],"description":null,"href":"/home/getting-started/vega-github"},{"title":"Using Vega in Slack","og:description":"This topic explains how to use Vega directly in Slack to investigate issues, clean up flags, and interact with LaunchDarkly's AI agent from your team's workspace.","keywords":["vega","slack","integration","ai","agent"],"description":null,"href":"/home/getting-started/vega-slack"}]},{"group":"LaunchDarkly CLI","root":{"title":"LaunchDarkly CLI","og:description":"This topic describes how to get started with the LaunchDarkly CLI.","keywords":["cli","ldcli","command line","install","homebrew","npm","ldcli setup"],"description":null,"href":"/home/getting-started/ldcli"},"pages":[{"title":"LaunchDarkly CLI commands","og:description":"This topic describes common commands and configuration options in the LaunchDarkly CLI.","keywords":["cli","ldcli"],"description":null,"href":"/home/getting-started/ldcli-commands"}]},{"group":"LaunchDarkly MCP server","root":{"title":"LaunchDarkly MCP server","og:description":"This topic explains how to get started with the LaunchDarkly Model Context Protocol (MCP) server.","keywords":["mcp","ai","cursor","model context protocol","claude","ai assistant","feature flag automation"],"description":null,"href":"/home/getting-started/mcp"},"pages":[{"title":"LaunchDarkly hosted MCP server","og:description":"This topic explains how to connect your AI client to the LaunchDarkly hosted Model Context Protocol (MCP) server.","keywords":["mcp","ai","cursor","tools"],"description":null,"href":"/home/getting-started/mcp-hosted"},{"title":"LaunchDarkly local MCP server","og:description":"This topic describes how to get started with the LaunchDarkly local Model Context Protocol (MCP) server.","keywords":["mcp","ai","cursor","tools"],"description":null,"href":"/home/getting-started/mcp-local"}]},{"group":"LaunchDarkly developer toolbar","root":{"title":"LaunchDarkly developer toolbar","og:description":"This category has documentation topics about the LaunchDarkly developer toolbar.","keywords":["tools","toolbar"],"description":null,"href":"/home/getting-started/dev-toolbar"},"pages":[{"title":"Setting up the LaunchDarkly developer toolbar","og:description":"This topic describes how to install the LaunchDarkly developer toolbar.","keywords":["developer toolbar","flag override","local testing","sdk debugging","dev tools"],"description":null,"href":"/home/getting-started/dev-toolbar-setup"},{"title":"Using the LaunchDarkly developer toolbar","og:description":"This topic describes how to use the LaunchDarkly developer toolbar.","keywords":["tools","toolbar"],"description":null,"href":"/home/getting-started/dev-toolbar-using"}]},{"title":"LaunchDarkly agent skills","og:description":"This topic describes the AI agent skills that LaunchDarkly offers for various AI applications.","keywords":["powers","skills","kiro"],"description":null,"href":"/home/getting-started/skills"},{"group":"IDE connectors and agents","root":{"title":"IDE connectors and agents","og:description":"This category lists integrated development environment (IDE) connector integrations and agents for third-party apps.","keywords":["integration"],"description":null,"href":"/home/getting-started/ide"},"pages":[{"title":"IntelliJ IDEA","og:description":"This topic explains how to use the LaunchDarkly IntelliJ IDEA plugin to interact with feature flags from within IntelliJ IDEs.","keywords":["intellij","ide","integration","enterprise"],"description":null,"href":"/home/getting-started/intellij"},{"title":"LaunchDarkly extension for GitHub Copilot","og:description":"This topic links to documentation on using the LaunchDarkly extension for GitHub Copilot on Visual Studio Marketplace.","keywords":["github","copilot","vscode","ide","integration","enterprise"],"description":null,"href":"/home/getting-started/github-copilot-extension"},{"title":"Visual Studio Code (VSCode)","og:description":"This topic explains how to use the LaunchDarkly VSCode extension to interact with feature flags from within VSCode.","keywords":["vscode","ide","github","copilot","integration","enterprise"],"description":null,"href":"/home/getting-started/vscode"},{"title":"Flag cleanup custom agent for GitHub Copilot","og:description":"This topic describes how to install and use the LaunchDarkly flag cleanup custom agent for GitHub Copilot.","keywords":["github","copilot","vscode","ide","agent","flags","mcp"],"description":null,"href":"/home/getting-started/github-copilot-agent"}]}]},{"title":"Setting up an SDK","og:description":"This topic explains how to set up an SDK to begin using LaunchDarkly.","keywords":["sdk key","sdk credentials","client-side id","initialize sdk","flag evaluation"],"description":null,"href":"/home/getting-started/setting-up"},{"group":"Joining an account","root":{"title":"Joining an account","og:description":"This topic explains how to join LaunchDarkly as a new account member.","keywords":["invite","account","email","trial","member"],"description":null,"href":"/home/getting-started/join-account"},"pages":[{"title":"Logging in with SSO","og:description":"This topic explains how to log into LaunchDarkly for the first time using an SSO provider.","keywords":["invite","sso","email","trial","account"],"description":null,"href":"/home/getting-started/login-sso"}]},{"title":"Using feature management","og:description":"This topic discusses using feature management at a high level, describes some key parts of the LaunchDarkly user interface (UI), and suggests different ways to learn more about working in LaunchDarkly.","keywords":["feature management","flag","getting started"],"description":null,"href":"/home/getting-started/feature-management"},{"title":"Getting started in different roles","og:description":"This topic includes suggested paths through the LaunchDarkly documentation specific to your role.","keywords":["feature management","flag","getting started"],"description":null,"href":"/home/getting-started/roles"}]},{"title":"Launch Insights","og:description":"This topic describes the Launch Insights dashboard. Launch Insights is an executive-level dashboard that summarizes how your organization is adopting the best practices associated with risk-free releases.","icon":"sparkle","keywords":["insight","dashboard","risk mitigation"],"description":null,"href":"/home/getting-started/launch-insights"},{"title":"LaunchDarkly architecture","og:description":"This topic gives a high-level explanation of LaunchDarkly's platform architecture.","icon":"diagram-nested","keywords":["architecture","sdk","variation","fdn","cdn"],"description":null,"href":"/home/getting-started/architecture"},{"title":"LaunchDarkly vocabulary","og:description":"This topic defines common words used in the LaunchDarkly application and documentation.","icon":"book","keywords":["vocabulary","glossary","definition"],"description":null,"href":"/home/getting-started/vocabulary"}]},{"group":"AgentControl","pages":[{"group":"AgentControl","icon":"chart-network","root":{"title":"AgentControl","og:description":"The topics in this category explain how to use LaunchDarkly AgentControl to manage your AgentControl configs. You can use AgentControl to customize, test, and roll out new large language models (LLMs) within your generative AI applications.","icon":"chart-network","keywords":["ai","retrieval augmented generation","rag","llm","hallucination"],"description":null,"href":"/home/agentcontrol"},"pages":[{"group":"Quickstart for AgentControl","root":{"title":"Quickstart for AgentControl","og:description":"This topic explains how to get started with LaunchDarkly AgentControl to manage, deploy, and update agent configurations without redeploying your application.","keywords":["ai","agents"],"description":null,"href":"/home/agentcontrol/quickstart"},"pages":[]}]},{"group":"Set up AgentControl configs","icon":"spinner-third","pages":[{"title":"Create configs","og:description":"This topic explains how to create and update AgentControl.","description":null,"href":"/home/agentcontrol/create"},{"title":"Create and manage config variations","og:description":"This topic explains how to create and manage config variations.","description":null,"href":"/home/agentcontrol/create-variation"},{"title":"Create and manage AI model configurations","og:description":"This topic explains how to create and manage custom models to use in AgentControl.","keywords":["ai","agentcontrol"],"description":null,"href":"/home/agentcontrol/create-model-config"},{"title":"Agent skills","og:description":"This topic explains how to use agent skills to create, manage, and attach reusable agent instructions across AgentControl config variations.","keywords":["skills","agentcontrol","ai","agent skills","skill library"],"description":null,"href":"/home/agentcontrol/agent-skills"},{"title":"Tools","published":true,"og:description":"This topic explains how to manage and use tools in AgentControl.","keywords":["agentcontrol","ai","tools","library"],"description":null,"href":"/home/agentcontrol/tools"},{"title":"Prompt snippets","og:description":"This topic explains how to use prompt snippets to create, manage, and reuse prompts across AgentControl config variations.","keywords":["snippets","agentcontrol","ai","prompt library"],"description":null,"href":"/home/agentcontrol/snippets"}]},{"group":"Config evaluations","icon":"bullseye-arrow","pages":[{"title":"Playgrounds","og:description":"This topic explains how to use LLM playgrounds to create and run evaluations that measure the quality of model outputs before deployment.","keywords":["llm","agentcontrol","evaluations","llm as judge","evaluation criteria","scoring llm"],"description":null,"href":"/home/agentcontrol/playground"},{"group":"Evaluations","pages":[{"group":"Offline evaluations","root":{"title":"Offline evaluations","og:description":"This topic explains how to use offline evaluations to validate config variations before releasing them to production.","keywords":["agentcontrol","offline evaluations","datasets","llm as judge","model quality","pre-production testing"],"description":null,"href":"/home/agentcontrol/offline-evaluations"},"pages":[{"title":"Datasets","og:description":"This topic explains how to create, manage, and use datasets for offline evaluations.","keywords":["agentcontrol","offline evaluations"],"description":null,"href":"/home/agentcontrol/datasets"}]},{"group":"Online evaluations","root":{"title":"Online evaluations","og:description":"This topic describes how to run online evaluations on config variations by attaching judges that score responses for accuracy, relevance, and toxicity.","keywords":["agentcontrol","online evaluations","ai judges","model quality","monitoring","ai guardrails","llm-as-judge"],"description":null,"href":"/home/agentcontrol/online-evaluations"},"pages":[{"title":"Judges","og:description":"This topic explains how to create and manage custom judges for online evaluations in AgentControl.","keywords":["agentcontrol","online evals","llm as judge","evaluation metrics"],"description":null,"href":"/home/agentcontrol/judges"}]},{"title":"Run experiments with AgentControl","og:description":"This topic introduces the role of AgentControl configs in LaunchDarkly Experimentation.","keywords":["ai","agentcontrol","experimentation"],"description":null,"href":"/home/agentcontrol/experimentation"}]}]},{"group":"Agents","icon":"sparkle","pages":[{"title":"Agents","og:description":"This topic explains how to create and use agent-based configs to support structured, multi-step AI workflows with shared configuration, judge models that evaluate response quality, and performance monitoring.","keywords":["ai","agentcontrol","agents","workflows","tools"],"description":null,"href":"/home/agentcontrol/agents"},{"title":"Agent graphs","og:description":"This topic explains how to create and use agent graphs to orchestrate multi-agent workflows with AgentControl.","keywords":["agentcontrol","agents","agent graphs","orchestration","workflows"],"description":null,"href":"/home/agentcontrol/agent-graphs"}]},{"group":"Deliver and monitor configs","icon":"truck-fast","pages":[{"title":"Config targeting","og:description":"This topic explains how to use AgentControl config targeting to control which of your customers receive a particular variation of a config, based on their context.","keywords":["ai","agentcontrol","target"],"description":null,"href":"/home/agentcontrol/target"},{"title":"Monitor config performance","og:description":"This topic explains how to monitor the performance of your configs.","keywords":["ai","agentcontrol","monitor","metric"],"description":null,"href":"/home/agentcontrol/monitor"},{"title":"Understand AI impact with AI Insights","og:description":"This topic explains how to use AI insights to understand the impact of AgentControl configs by analyzing metrics across your project.","keywords":["agentcontrol","monitor","trends","cost monitoring"],"description":null,"href":"/home/agentcontrol/insights"},{"title":"The trends explorer","published":true,"og:description":"This topic explains how to use the AgentControl trends explorer to view aggregated performance data across multiple configs, providers, and models.","keywords":["ai","agentcontrol","trends explorer","insights","monitor","metric"],"description":null,"href":"/home/agentcontrol/trends"},{"title":"Manually instrument LLM spans","og:description":"This topic explains how to manually instrument LLM spans so LaunchDarkly can observe model activity when automatic instrumentation is not available.","keywords":["agentcontrol","llm","observability","tracing","spans","monitoring"],"description":null,"href":"/home/agentcontrol/manual-llm-span-tracing"}]},{"group":"Agent optimization","icon":"wand-magic-sparkles","root":{"title":"Agent optimization","og:description":"This topic explains what agent optimization is, its different modes, and how to start using it.","icon":"wand-magic-sparkles","keywords":["exploratory","ground truth","test"],"description":null,"href":"/home/agentcontrol/optimization"},"pages":[{"title":"Optimization SDK quickstart","og:description":"This topic explains how to configure the SDK to use agent optimization.","description":null,"href":"/home/agentcontrol/optimization-quickstart"},{"group":"Configure optimization runs","pages":[{"title":"Performing optimization runs","og:description":"This topic explains how to run an optimization by pulling its configuration from LaunchDarkly.","description":null,"href":"/home/agentcontrol/optimization-runs"},{"title":"Optimization runs without a config","og:description":"This topic explains how to define judges, model choices, and evaluation parameters directly in code without a LaunchDarkly configuration object.","description":null,"href":"/home/agentcontrol/optimize-without-config"},{"title":"Expected output mode","og:description":"This topic explains how to use Expected output mode to optimize an agent against known input/output pairs.","description":null,"href":"/home/agentcontrol/ground-truth-optimization"},{"title":"Using tools in agent optimization","og:description":"This topic explains how to pass tool definitions through to your agent and judge calls during optimization runs.","description":null,"href":"/home/agentcontrol/optimization-tools"}]},{"title":"Other framework examples for agent optimization","og:description":"Code examples for the Optimization SDK using OpenAI Agents SDK, LangChain, Strands, and the Claude Agent SDK.","description":null,"href":"/home/agentcontrol/optimization-framework-examples"},{"title":"OptimizationContext reference","og:description":"This topic has a full field reference for the OptimizationContext object returned by all optimization methods.","description":null,"href":"/home/agentcontrol/optimization-context"}]},{"group":"Manage AgentControl","icon":"diagram-project","root":{"title":"Manage AgentControl","og:description":"This topic explains how to view and manage AgentControl.","icon":"diagram-project","keywords":["ai","agentcontrol"],"description":null,"href":"/home/agentcontrol/manage"},"pages":[{"title":"Adaptive triggers","og:description":"This topic explains how to use adaptive triggers in configs to mitigate the effect of unexpected outages or performance degradation in your LLM provider.","keywords":["ai","trigger"],"description":null,"href":"/home/agentcontrol/triggers"},{"title":"AgentControl and information privacy","og:description":"This topic describes how the LaunchDarkly AgentControl product treats personally identifiable information (PII).","keywords":["ai","agentcontrol","pii"],"description":null,"href":"/home/agentcontrol/privacy"},{"title":"Compare config variation versions","og:description":"This topic explains how to compare versions of a config variation.","keywords":["ai","agentcontrol","diff","history"],"description":null,"href":"/home/agentcontrol/compare-variation-versions"},{"title":"Configure Amazon Bedrock","og:description":"This topic explains how to configure Amazon Bedrock as a model provider.","keywords":["aws","iam","integrations","models","playground","regions"],"description":null,"href":"/home/agentcontrol/configure-amazon-bedrock"},{"title":"Configure token limits","og:description":"This topic explains how to configure token limits for offline evaluations in AgentControl.","keywords":["evaluation tokens","token limit","usage quota","usage cap"],"description":null,"href":"/home/agentcontrol/configure-token-limits"}]}]},{"group":"Feature flags","pages":[{"group":"Create flags","icon":"toggle-on","root":{"title":"Create flags","og:description":"This category explains how to use LaunchDarkly to create your feature flags.","icon":"toggle-on","keywords":["flag"],"description":null,"href":"/home/flags/create"},"pages":[{"title":"Creating new flags","og:description":"This topic explains how to create new feature flags in LaunchDarkly.","keywords":["variation","flag","toggle","key","clone","value"],"description":null,"href":"/home/flags/new"},{"title":"Flag types","og:description":"This topic explains the four types of feature flags and when to use them.","keywords":["flag","type","boolean","string","number","json"],"description":null,"href":"/home/flags/types"},{"title":"Turning flags on and off","og:description":"This topic explains how to enable and disable flags from the Flags list.","keywords":["toggle","flag","fallback","dashboard","target"],"description":null,"href":"/home/flags/toggle"},{"title":"Creating flag variations","og:description":"This topic explains how to create and edit your feature flag's variations and outlines the different types of flag variations.","keywords":["variation","flag","boolean","multivariate","default"],"description":null,"href":"/home/flags/variations"},{"title":"Cloning existing flags","og:description":"This topic explains how to create new flags by cloning existing flags in LaunchDarkly.","keywords":["clone","flag","toggle","key","value"],"description":null,"href":"/home/flags/clone"},{"title":"Importing flags","og:description":"This topic explains how to import flags from other feature management tools into LaunchDarkly.","keywords":["flag","import","split","unleash"],"description":null,"href":"/home/flags/import"},{"title":"Flag settings","og:description":"This topic explains how to edit a feature flag's environment-specific and project-wide settings.","keywords":["flag","setting"],"description":null,"href":"/home/flags/flag-settings"}]},{"group":"Target with flags","icon":"bullseye-arrow","root":{"title":"Target with flags","og:description":"This topic explains how to use flag targeting to control which of your customers receive a variation of a feature flag, based on their context.","icon":"bullseye-arrow","keywords":["targeting","target","context","user","flag","expiring","expiration"],"description":null,"href":"/home/flags/target"},"pages":[{"group":"Targeting rules","root":{"title":"Targeting rules","og:description":"This topic explains how to use flag targeting rules to serve flag variations to different contexts based on their attributes.","keywords":["targeting","target","context","user","flag","expiring","expiration"],"description":null,"href":"/home/flags/target-rules"},"pages":[{"title":"Manage targeting rules","og:description":"This topic explains how to manage flag targeting rules.","keywords":["targeting","target","context","user","flag","expiring","expiration"],"description":null,"href":"/home/flags/manage-rules"},{"title":"Individual targeting","og:description":"This topic explains how to control which individual contexts receive a variation of a feature flag, based on the context key.","keywords":["target","context","targeting rule","user"],"description":null,"href":"/home/flags/individual-targeting"},{"title":"Bulk targeting","og:description":"This topic explains how to perform edits on groups of contexts, or export all the contexts a flag is targeted to.","keywords":["target","context","flag","export","csv","enterprise","user"],"description":null,"href":"/home/flags/bulk-targeting"},{"title":"Mobile targeting","og:description":"This topic explains how to control which mobile apps and devices receive a variation of a feature flag.","keywords":["target","mobile","targeting rule"],"description":null,"href":"/home/flags/mobile-targeting"},{"title":"Custom rules","og:description":"This topic explains how to use custom rules to target contexts based on their attributes.","keywords":["custom rule","context","target","custom attribute","user"],"description":null,"href":"/home/flags/custom-rules"},{"title":"JSON targeting","og:description":"This topic explains how to create and edit flag targeting rules using JSON.","keywords":["targeting","target","context","user","flag"],"description":null,"href":"/home/flags/json-targeting"}]},{"title":"Converting rules into segments","og:description":"This topic explains how convert targeting rules into reusable segments.","keywords":["custom rule","segment","target"],"description":null,"href":"/home/flags/rules-segments"},{"title":"Testing changes to flag targeting","og:description":"This topic explains how to use the test run feature to find out which variation a particular context will receive for a given feature flag.","keywords":["targeting","target","context","user","flag"],"description":null,"href":"/home/flags/preview-rules"},{"title":"Adaptive triggers","og:description":"This topic explains how to use adaptive triggers to automatically serve a different flag variation and send an alert when a metric indicates a problem.","keywords":["flag","trigger","adaptive","threshold","metric"],"description":null,"href":"/home/flags/triggers"}]},{"group":"Flag templates","icon":"diamond","root":{"title":"Flag templates","og:description":"This topic explains the different types of flags available in LaunchDarkly.","icon":"diamond","keywords":["template","type","flag","admin"],"description":null,"href":"/home/flags/templates"},"pages":[{"title":"Custom flags","og:description":"This topic explains how to get started with custom flags.","keywords":["flag"],"description":null,"href":"/home/flags/custom"},{"title":"Release flags","og:description":"This topic explains how you can use release flags to progressively roll out functionality.","keywords":["flag"],"description":null,"href":"/home/flags/release"},{"title":"Kill switch flags","og:description":"This topic explains how you can use kill switch or circuit breaker flags to shut off functionality.","keywords":["flag"],"description":null,"href":"/home/flags/killswitch"},{"title":"Experiment flags","og:description":"This topic explains how you can use experiment flags to test a hypothesis.","keywords":["flag"],"description":null,"href":"/home/flags/experiment"},{"group":"Migration flags","root":{"title":"Migration flags","og:description":"This topic explains how you can use migration flags to take the complexity and risk out of modernizing your tech stack.","keywords":["flag"],"description":null,"href":"/home/flags/migration"},"pages":[{"title":"Creating migration flags","og:description":"This topic explains how you can create migration flags.","keywords":["migration","flag"],"description":null,"href":"/home/flags/create-migration"},{"title":"Targeting with migration flags","og:description":"This topic explains how you can target contexts using migration flags.","keywords":["flag"],"description":null,"href":"/home/flags/target-migration"},{"title":"Migration flag metrics","og:description":"This topic explains how you can use metrics to track the progress of a migration flag.","keywords":["flag"],"description":null,"href":"/home/flags/migration-metrics"}]}]},{"group":"Manage flags","icon":"toggle-on","root":{"title":"Manage flags","og:description":"This category explains how to organize your flags across different environments in your LaunchDarkly project.","icon":"toggle-on","description":null,"href":"/home/flags/manage"},"pages":[{"group":"The Flags list","root":{"title":"The Flags list","og:description":"This topic explains how to use the Flags list, which shows your feature flags and gives you options to create, modify, and manage them.","keywords":["dashboard","flag","shortcut","tag","filter"],"description":null,"href":"/home/flags/list"},"pages":[{"title":"Flag links","og:description":"This topic explains how to create and use flag links to view external mentions of flags and relevant materials from other tools and services.","keywords":["link","slack","jira","trello"],"description":null,"href":"/home/flags/links"},{"title":"Following flags","og:description":"This topic explains how to follow flags. Following a flag sends you email and Slack notifications when someone makes a targeting change to that flag.","keywords":["follow","notification","subscribe","slack","email","targeting change"],"description":null,"href":"/home/flags/follow"}]},{"title":"Comparing and copying flag settings","og:description":"This topic explains how to compare and copy flag settings between two environments.","keywords":["compare","copy","dashboard","flag setting","environment"],"description":null,"href":"/home/flags/compare-copy"},{"title":"Viewing flags across environments","og:description":"This topic explains how to view flags across multiple environments.","keywords":["view","dashboard","flag setting","environment"],"description":null,"href":"/home/flags/view-across"},{"title":"Deprecating flags","og:description":"This topic explains how to deprecate flags you no longer need.","keywords":["deprecate","dashboard","dependency","environment"],"description":null,"href":"/home/flags/deprecate"},{"title":"Archiving flags","og:description":"This topic explains how to clean up flags you no longer need.","keywords":["cleanup","clean up","delete","dashboard","dependency","environment","tech debt"],"description":null,"href":"/home/flags/archive"},{"title":"Deleting flags","og:description":"This topic explains how to permanently delete flags that are already archived.","keywords":["delete","dashboard","dependency","environment"],"description":null,"href":"/home/flags/delete"},{"title":"Flag prerequisites","og:description":"This topic explains how to use feature flag prerequisites to enable or disable features based on different states.","keywords":["prerequisite","flag dependency","flag dependencies","flag","dependent","enterprise"],"description":null,"href":"/home/flags/prereqs"},{"title":"The off variation","og:description":"This topic explains how to set the off variation for a flag.","keywords":["targeting","target","off","context","user","flag"],"description":null,"href":"/home/flags/off-variation"},{"title":"The default rule","og:description":"This topic explains how to set the default rule for a flag.","keywords":["targeting","target","default","context","user","flag"],"description":null,"href":"/home/flags/default-rule"},{"title":"Flag statuses and lifecycle stages","og:description":"This topic explains what the different flag statuses are, and how they relate to a flag's lifecycle.","keywords":["flag status","new","active","launched","inactive","lifecycle"],"description":null,"href":"/home/flags/flag-status"},{"title":"Flag lifecycle settings","published":true,"og:description":"This topic describes flag lifecycle settings and how to update them. The flag lifecycle settings let you customize the criteria that LaunchDarkly uses to determine when flags are ready to be archived.","keywords":["project","environment","archive","lifecycle"],"description":null,"href":"/home/flags/flag-lifecycle-settings"},{"title":"Project-level flag settings","og:description":"This topic describes project-level flag settings and how to update them.","keywords":["project","environment","naming convention"],"description":null,"href":"/home/flags/proj-flag-settings"},{"title":"Vega for flag cleanup","og:description":"This topic explains how to use Vega to identify and remove stale feature flags from your codebase, including automated scheduled cleanup.","keywords":["vega","flag cleanup","ai","agent","stale flags","automated cleanup","scheduled cleanup"],"description":null,"href":"/home/flags/manage/flag-cleanup-vega"}]},{"group":"Code references","icon":"flag","root":{"title":"Code references","og:description":"This topic explains how to use code references in LaunchDarkly to find and manage references to your feature flags. Code references help you determine which projects reference your feature flags and remove technical debt.","icon":"flag","keywords":["code references","ld-find-code-refs","access token","enterprise"],"description":null,"href":"/home/flags/code-references"},"pages":[{"title":"Bitbucket code references","og:description":"This topic explains how to use the ld-find-code-refs utility with Bitbucket code references to create code references in LaunchDarkly.","keywords":["bitbucket pipes","code references","ld-find-code-refs","access token","enterprise"],"description":null,"href":"/home/flags/code-references/bitbucket"},{"title":"CircleCI code references","og:description":"This topic explains how you can use the ld-find-code-refs utility with CircleCI to automatically populate code references in LaunchDarkly.","keywords":["circleci orb","code references","ld-find-code-refs","access token","enterprise"],"description":null,"href":"/home/flags/code-references/circleci"},{"title":"Custom configuration with ld-find-code-refs","og:description":"This topic gives a high-level explanation of how to use the ld-find-code-refs script to perform other functions.","keywords":["code references","ld-find-code-refs","enterprise"],"description":null,"href":"/home/flags/code-references/custom-config"},{"title":"GitHub code references","og:description":"This topic explains how to use the ld-find-code-refs utility with GitHub code references to automatically populate code references in LaunchDarkly.","keywords":["github actions","code references","ld-find-code-refs","access token","enterprise"],"description":null,"href":"/home/flags/code-references/github-actions"},{"title":"GitLab code references","og:description":"This topic explains how to set up and configure the GitLab code references to use with LaunchDarkly. You can use the ld-find-code-refs utility with GitLab code references to automatically populate code references in LaunchDarkly.","keywords":["ld-find-code-refs","code references","access token","enterprise"],"description":null,"href":"/home/flags/code-references/gitlab"}]},{"group":"Contexts","icon":"fingerprint","root":{"title":"Contexts","og:description":"This category has documentation topics about LaunchDarkly contexts. Contexts are people, services, machines, or other resources that encounter feature flags in your product.","icon":"fingerprint","keywords":["context","user","custom context","context kind","multi-context"],"description":null,"href":"/home/flags/contexts"},"pages":[{"title":"An introduction to contexts","og:description":"This topic summarizes what contexts are and provides resources to learn how to use them.","keywords":["context","context kinds","user"],"description":null,"href":"/home/flags/contexts/intro"},{"group":"The Contexts list","root":{"title":"The Contexts list","og:description":"This topic explains what the Contexts list is, how it is populated, and how to use it.","keywords":["dashboard","context","attribute","mci","cmci","mau","user"],"description":null,"href":"/home/flags/contexts-list"},"pages":[{"title":"Filtering the Contexts list","og:description":"This topic explains how to filter contexts on the Contexts list. You can filter contexts on the Contexts list by context kind, name, key, or attribute.","keywords":["filter","context","attribute","mci","cmci","mau","user"],"description":null,"href":"/home/flags/contexts-list-filtering"},{"title":"The context details page","og:description":"This topic explains what the context details page is. The context details page gives you a detailed view of a context and lets you customize its experience from one screen.","keywords":["dashboard","context","attribute","mci","cmci","mau","user"],"description":null,"href":"/home/flags/context-details"},{"title":"Context instances","og:description":"This topic includes information about context instances.","keywords":["context","custom context","context kind","multi-context","user"],"description":null,"href":"/home/flags/context-instances"}]},{"group":"Context kinds","root":{"title":"Context kinds","og:description":"This topic explains what context kinds are and how to use them.","keywords":["context kind"],"description":null,"href":"/home/flags/context-kinds"},"pages":[{"title":"Viewing context kinds","og:description":"This topic explains how to view context kinds.","keywords":["context kind"],"description":null,"href":"/home/flags/context-kinds-view"},{"title":"Creating and editing context kinds","og:description":"This topic explains how to create and edit context kinds.","keywords":["context kind"],"description":null,"href":"/home/flags/context-kinds-create"},{"title":"Archiving context kinds","og:description":"This topic explains how to archive and restore archived context kinds.","keywords":["context kind"],"description":null,"href":"/home/flags/context-kinds-archive"}]},{"group":"Context attributes","root":{"title":"Context attributes","og:description":"This topic explains what context attributes are, how to configure them, and how LaunchDarkly uses them to evaluate flags and display flag variations to your customers.","keywords":["context","attribute","custom attribute","built-in","user"],"description":null,"href":"/home/flags/context-attributes"},"pages":[{"title":"Built-in attributes","og:description":"This topic explains what built-in attributes are and how to configure them.","keywords":["built-in","attribute","context","user"],"description":null,"href":"/home/flags/built-in-attributes"},{"title":"Custom attributes","og:description":"This topic explains what custom context attributes are and how to configure them.","keywords":["context","user","custom attribute"],"description":null,"href":"/home/flags/custom-attributes"},{"title":"Using private context attributes","og:description":"This topic explains how to create targeting rules that target contexts based on attributes that may or may not be stored in LaunchDarkly.","keywords":["context","attribute","custom attribute","built-in","user"],"description":null,"href":"/home/flags/private-context-attributes"}]},{"title":"Multi-contexts","og:description":"This topic includes information about multi-contexts and context instances. Contexts are people, services, machines, or other resources that encounter feature flags in your product.","keywords":["context","custom context","context kind","multi-context","user"],"description":null,"href":"/home/flags/multi-contexts"},{"title":"Anonymous contexts","og:description":"This topic explains what anonymous contexts are, how their information is handled in LaunchDarkly, and how they contribute to your monthly account usage.","keywords":["anonymous","key","alias","mau"],"description":null,"href":"/home/flags/anonymous-contexts"}]},{"group":"Segments","icon":"circles-overlap","root":{"title":"Segments","og:description":"This topic introduces the concept of segments. Segments let you target groups of contexts individually or by attribute.","icon":"circles-overlap","keywords":["segment","target"],"description":null,"href":"/home/flags/segments"},"pages":[{"group":"Creating segments","root":{"title":"Creating segments","og:description":"This topic explains how to create rule-based, smaller list-based, larger list-based, and synced segments.","keywords":["segment","target"],"description":null,"href":"/home/flags/segments-create"},"pages":[{"title":"Targeting contexts in rule-based and smaller list-based segments","og:description":"This topic explains how to target contexts in rule-based and smaller list-based segments.","keywords":["rule","context","target","segment","user","expiring","expiration"],"description":null,"href":"/home/flags/rule-based-segments"},{"title":"Targeting contexts in larger list-based segments","og:description":"This topic explains how to target contexts within larger list-based segments.","keywords":["list","context","segment","target","user"],"description":null,"href":"/home/flags/list-based-segments"}]},{"title":"Targeting segments","og:description":"This topic explains how to target a segment in a flag rule.","keywords":["segment","target"],"description":null,"href":"/home/flags/segment-targeting"},{"title":"Managing segments","og:description":"This topic explains how to edit and delete segments.","keywords":["segment","target","view"],"description":null,"href":"/home/flags/segment-management"},{"group":"Segment types","root":{"title":"Segment types","og:description":"This topic explains different segment types and when to use them.","keywords":["segment","target"],"description":null,"href":"/home/flags/segment-types"},"pages":[{"group":"Segments synced from external tools","root":{"title":"Segments synced from external tools","og:description":"This topic explains how to create segments that sync with an external tool.","keywords":["synced segment","sync","big segment","context","target","user"],"description":null,"href":"/home/flags/synced-segments"},"pages":[{"title":"Syncing segments with Amplitude cohorts","og:description":"This topic explains how to create segments that sync with an Amplitude cohort.","keywords":["amplitude","big segment","synced segment","context","target","user"],"description":null,"href":"/home/flags/amplitude"},{"title":"Syncing segments with Fivetran (formerly Census)","og:description":"This topic links to Fivetran's documentation for its LaunchDarkly synced segment integration.","keywords":["census","synced segment","sync","big segment","integration"],"description":null,"href":"/home/flags/fivetran"},{"title":"Syncing segments with Heap","og:description":"This topic links to Heap's documentation for its LaunchDarkly synced segment integration.","keywords":["heap","synced segment","sync","big segment","integration"],"description":null,"href":"/home/flags/heap"},{"title":"Syncing segments with Hightouch","og:description":"This topic links to Hightouch's documentation for its LaunchDarkly synced segment integration.","keywords":["hightouch","synced segment","sync","big segment","integration"],"description":null,"href":"/home/flags/hightouch"},{"title":"Syncing segments with RudderStack Audiences","og:description":"This topic links to RudderStack's documentation for its LaunchDarkly synced segment integration.","keywords":["big segment","integration"],"description":null,"href":"/home/flags/rudderstack"},{"title":"Syncing segments with Tealium Audiences","og:description":"This topic links to Tealium's documentation for its LaunchDarkly synced segment integration.","keywords":["tealium","audience","synced segment","sync","big segment","integration"],"description":null,"href":"/home/flags/tealium"},{"title":"Syncing segments with Twilio Segment Audiences","og:description":"This topic explains how to create segments that sync with a Twilio Segment Audience.","keywords":["twilio","big segment","segment","context","target","user"],"description":null,"href":"/home/flags/twilio"},{"title":"Syncing segments with Zeotap","og:description":"This topic links to Zeotap's documentation for its LaunchDarkly synced segment integration.","keywords":["zeotap","synced segment","sync","big segment","integration"],"description":null,"href":"/home/flags/zeotap"}]}]},{"title":"SDK and integration configuration for segments","og:description":"This topic explains the configuration process and requirements for synced segments and larger list-based segments.","keywords":["big segment","synced segment","sync","list","context","target","user"],"description":null,"href":"/home/flags/segment-config"}]}]},{"group":"Releases","pages":[{"title":"Releasing features with LaunchDarkly","og:description":"This topic compares several options LaunchDarkly provides for releasing features to production gradually and safely.","icon":"truck-fast","keywords":["release","progressive rollout","percentage rollout","release guardian","guarded rollout","phase","risk mitigation"],"description":null,"href":"/home/releases/releasing"},{"title":"Release policies","published":true,"og:description":"This topic explains how to use release policies to define preferred release methods for environments and standardize how your organization configures feature releases.","icon":"clipboard-check","keywords":["release policy","rollout","governance","progressive","guarded release"],"description":null,"href":"/home/releases/release-policies"},{"title":"Health checks for releases","og:description":"This topic explains how to use health checks to confirm your release setup and troubleshoot configuration problems.","icon":"kit-medical","keywords":["guarded rollouts","progressive rollouts","metrics","release guardian"],"description":null,"href":"/home/releases/health-checks"},{"group":"Percentage rollouts","icon":"circle-three-quarters-stroke","root":{"title":"Percentage rollouts","og:description":"This topic explains how to use percentage rollouts to release new features incrementally.","icon":"circle-three-quarters-stroke","keywords":["percentage rollout","targeting rule","context","target","user"],"description":null,"href":"/home/releases/percentage-rollouts"},"pages":[{"title":"Percentage rollouts by context attribute","og:description":"This topic explains how to perform percentage rollouts by associating flag variations with context attributes.","keywords":["percentage rollout","targeting rule","context","target","user"],"description":null,"href":"/home/releases/attribute-rollout"}]},{"group":"Progressive rollouts","icon":"spinner-third","root":{"title":"Progressive rollouts","og:description":"This topic explains what progressive rollouts are and why you might use them to release new features incrementally.","icon":"spinner-third","keywords":["progressive rollout","targeting rule","context","target"],"description":null,"href":"/home/releases/progressive-rollouts"},"pages":[{"title":"Creating and managing progressive rollouts","og:description":"This topic explains how to create and manage progressive rollouts to release new features incrementally.","keywords":["progressive rollout","targeting rule","context","target"],"description":null,"href":"/home/releases/create-progressive-rollouts"}]},{"group":"Guarded rollouts","icon":"shield-heart","root":{"title":"Guarded rollouts","og:description":"This topic explains how to monitor metrics on flag and AgentControl config releases and configure LaunchDarkly to take action on the results.","icon":"shield-heart","keywords":["guarded rollout","release guardian","risk mitigation","metric","regression","insight"],"description":null,"href":"/home/releases/guarded-rollouts"},"pages":[{"title":"Regression detection","og:description":"This topic explains how guarded rollouts detect regressions.","keywords":["guarded rollouts","release guardian","regression"],"description":null,"href":"/home/releases/regression-detection"},{"group":"Creating guarded rollouts","root":{"title":"Creating guarded rollouts","og:description":"This topic explains how to create a guarded rollout.","keywords":["release guardian","guarded rollouts","insight","metric","regression"],"description":null,"href":"/home/releases/creating-guarded-rollouts"},"pages":[{"title":"Setting up contexts for guarded rollouts","og:description":"This topic explains how to set up context kinds for randomized targeting in a guarded rollout.","keywords":["release guardian","guarded rollouts","insight","metric","regression"],"description":null,"href":"/home/releases/context-kinds"}]},{"group":"Managing guarded rollouts","root":{"title":"Managing guarded rollouts","og:description":"This topic explains how to manage guarded rollouts.","keywords":["release guardian","guarded rollouts","insight","metric","regression"],"description":null,"href":"/home/releases/managing-guarded-rollouts"},"pages":[{"title":"Troubleshoot guarded rollout errors","og:description":"This topic explains how to investigate and debug certain user-facing errors in your guarded rollouts.","keywords":["guarded rollout","release guardian","metric","regression"],"description":null,"href":"/home/releases/errors"}]}]},{"group":"Audience-based releases","icon":"users-viewfinder","root":{"title":"Audience-based releases","og:description":"This topic explains how audience-based releases let you validate changes with lower-risk audiences first, with consistent rollout configuration and metric monitoring at each phase.","icon":"users-viewfinder","keywords":["guarded rollouts","progressive rollouts","audience phases","release phases"],"description":null,"href":"/home/releases/audience-based-releases"},"pages":[{"title":"Creating audience-based releases","og:description":"This topic explains how to create an audience-based release to roll out changes to specific audiences in sequence.","keywords":["guarded release","release guardian","audience phases","release phases"],"description":null,"href":"/home/releases/audience-based-release-create"}]},{"group":"Feature monitoring","icon":"monitor-waveform","root":{"title":"Feature monitoring","og:description":"This topic explains how to use feature monitoring to evaluate the performance of a feature flag.","icon":"monitor-waveform","keywords":["release","feature","monitoring","errors","logs","traces","sessions","observability","flag","variations"],"description":null,"href":"/home/releases/feature-monitoring"},"pages":[{"title":"Flag evaluations","og:description":"This topic explains how to use the flag evaluations graph to observe flag evaluations over time.","keywords":["insight","flag","evaluation","graph"],"description":null,"href":"/home/releases/flag-evaluations"},{"title":"Flag audiences","og:description":"This topic explains how to use flag audiences to understand who evaluated a flag, which variation they received, and what occurred during those evaluations, based on sessions and observability data.","keywords":["flag","audience","release","observability"],"description":null,"href":"/home/releases/flag-audiences"},{"title":"Live events","og:description":"This topic explains how to use live events. The Live events page gives you insight into the events your application is sending to LaunchDarkly, so you can ensure that you've set up LaunchDarkly correctly.","keywords":["event","live event","context","events stream","user","debugger","event volume","payload size","diagnostics","SDK distribution","misconfigured flag key"],"description":null,"href":"/home/releases/live-events"},{"title":"Collecting user feedback","og:description":"This topic explains how to configure your application to send qualitative user feedback to LaunchDarkly. Each piece of user feedback is associated with a specific flag variation, creating a direct connection between user sentiment and feature performance.","keywords":["qualitative","feedback","user"],"description":null,"href":"/home/releases/user-feedback"}]},{"group":"Release pipelines","icon":"truck-fast","root":{"title":"Release pipelines","og:description":"This topic explains how you can use automated releases to standardize and automate the release process for your feature flags.","icon":"truck-fast","keywords":["release assistant","phase","enterprise","risk mitigation","approvals"],"description":null,"href":"/home/releases/release-pipelines"},"pages":[{"title":"Creating release pipelines","og:description":"This topic explains how to create and configure release pipelines to use in automated releases.","keywords":["release assistant","release pipeline","release","phase","enterprise"],"description":null,"href":"/home/releases/release-pipelines-create"},{"title":"Adding and removing flags from release pipelines","og:description":"This topic explains how to add, remove, and move flags between existing release pipelines.","keywords":["release assistant","release pipeline","release","phase","enterprise"],"description":null,"href":"/home/releases/adding-flags"},{"title":"Managing release pipelines","og:description":"This topic explains how to duplicate and manage release pipelines.","keywords":["release assistant","release pipeline","release","phase","enterprise"],"description":null,"href":"/home/releases/release-pipelines-manage"},{"title":"Deleting release pipelines","og:description":"This topic explains how to delete release pipelines.","keywords":["release assistant","release pipeline","release","phase","enterprise"],"description":null,"href":"/home/releases/release-pipelines-delete"}]},{"group":"Engineering insights","icon":"sparkle","root":{"title":"Engineering insights","og:description":"This category contains documentation topics about LaunchDarkly's engineering insights feature.","icon":"sparkle","keywords":["engineering insights","accelerate","dora","dora metrics","risk mitigation"],"description":null,"href":"/home/releases/eng-insights"},"pages":[{"group":"Get started with engineering insights","root":{"title":"Get started with engineering insights","og:description":"This topic explains how to set up projects, environments, and applications, and begin using engineering insights.","keywords":["setup","engineering insights","accelerate","start","application version"],"description":null,"href":"/home/releases/get-started"},"pages":[{"title":"Send deployment information","og:description":"This topic explains how to configure your app to send deployment information to LaunchDarkly.","keywords":["setup","engineering insights","accelerate","deployment","application version"],"description":null,"href":"/home/releases/config-deployment"},{"title":"Install the GitHub app","og:description":"This topic explains how to install the GitHub app for engineering insights and how to associate repositories and projects.","keywords":["setup","engineering-insights","lead time","github"],"description":null,"href":"/home/releases/github-app"},{"title":"Set up code references","og:description":"This topic explains how to set up code references for engineering insights.","keywords":["setup","engineering insights","accelerate","code references"],"description":null,"href":"/home/releases/code-refs"},{"title":"Applications in Engineering insights","og:description":"This topic explains how to work with LaunchDarkly applications in engineering insights.","keywords":["engineering insights","application","accelerate"],"description":null,"href":"/home/releases/applications-eng-insights"}]},{"title":"Project overview","og:description":"This topic explains how to use the engineering insights Overview page to evaluate LaunchDarkly project health at a high level.","keywords":["dora","dora metrics","engineering insights","accelerate"],"description":null,"href":"/home/releases/project-overview"},{"group":"Project metrics","root":{"title":"Project metrics","og:description":"This category contains documentation topics about LaunchDarkly's engineering insights project metrics.","keywords":["dora","dora metrics","engineering insights","accelerate","archive","stale"],"description":null,"href":"/home/releases/project-metrics"},"pages":[{"title":"Deployments","og:description":"This topic explains how to use the deployments page in engineering insights.","keywords":["dora","dora metrics","deployment frequency","deploy","accelerate"],"description":null,"href":"/home/releases/deployments"},{"title":"Releases","og:description":"This topic explains how to use the releases page in engineering insights.","keywords":["dora","dora metrics","release frequency","release","accelerate"],"description":null,"href":"/home/releases/releases"},{"title":"Lead time","og:description":"This topic explains how to use the lead time page in engineering insights.","keywords":["dora","dora metrics","lead time","accelerate"],"description":null,"href":"/home/releases/lead-time"},{"title":"Flag health","og:description":"This topic explains how to use the flag health page in engineering insights.","keywords":["dora","dora metrics","flag health","engineering insights","accelerate","stale","archive"],"description":null,"href":"/home/releases/flag-health"},{"title":"Experimentation rate","og:description":"This topic explains how to use the Experimentation rate page in engineering insights.","keywords":["dora","dora metrics","experimentation","accelerate"],"description":null,"href":"/home/releases/exp-rate"}]}]},{"group":"Release management tools","icon":"diagram-project","root":{"title":"Release management tools","og:description":"This category explains how you can more finely control your use of feature flags by release management tools within LaunchDarkly.","icon":"diagram-project","keywords":["feature workflows","enterprise","risk mitigation"],"description":null,"href":"/home/releases/release-management"},"pages":[{"group":"Approvals","root":{"title":"Approvals","og:description":"This topic introduces LaunchDarkly's approvals feature. It explains what approvals are and how to configure them.","keywords":["approval","feature workflows","enterprise","risk mitigation"],"description":null,"href":"/home/releases/approvals"},"pages":[{"title":"Requesting approvals","og:description":"This topic explains how to create approval requests.","keywords":["approval","feature workflows","enterprise"],"description":null,"href":"/home/releases/approval-requests"},{"title":"Reviewing approval requests","og:description":"This topic explains how to review, approve, and decline approval requests.","keywords":["approval","feature workflows","enterprise"],"description":null,"href":"/home/releases/approval-reviews"},{"title":"Deleting approval requests","og:description":"This topic explains how to delete approval requests.","keywords":["approval","feature workflows","delete","enterprise"],"description":null,"href":"/home/releases/approvals-delete"},{"title":"Approval request settings","og:description":"This topic explains how to customize the settings for your approval requests.","keywords":["approval","feature workflows","settings","enterprise"],"description":null,"href":"/home/releases/approvals-settings"},{"title":"Configuring approvals for an environment","og:description":"This topic explains how to customize approval requests for each environment in your LaunchDarkly project.","keywords":["approval","feature workflows","environment","enterprise"],"description":null,"href":"/home/releases/approval-config"}]},{"group":"Flag triggers","root":{"title":"Flag triggers","og:description":"This topic explains how to use the LaunchDarkly triggers feature, which lets you make changes to flag targeting remotely.","keywords":["trigger","integration","webhook","enterprise","risk mitigation"],"description":null,"href":"/home/releases/triggers"},"pages":[{"title":"Creating flag triggers","og:description":"This topic explains how to create flag triggers.","keywords":["trigger","integration","webhook","enterprise"],"description":null,"href":"/home/releases/triggers-create"},{"title":"Managing flag triggers","og:description":"This topic explains how to disable, reset, and delete flag triggers.","keywords":["trigger","integration","webhook","enterprise"],"description":null,"href":"/home/releases/triggers-manage"}]},{"title":"Required comments","og:description":"This topic explains how to use required comments for feature flag and segment changes.","keywords":["feature workflows","enterprise","approval"],"description":null,"href":"/home/releases/comments"},{"title":"Required confirmation","og:description":"This topic explains how to use required confirmation for feature flag and segment changes.","keywords":["feature workflows","approval","risk mitigation"],"description":null,"href":"/home/releases/confirmation"},{"group":"Scheduled flag changes","root":{"title":"Scheduled flag changes","og:description":"This topic explains what scheduled flag changes are and how to use them to manage your releases.","keywords":["schedule","feature workflows","enterprise","schedule","flag"],"description":null,"href":"/home/releases/scheduled-changes"},"pages":[{"title":"Creating scheduled flag changes","og:description":"This topic explains how to create scheduled flag changes to take effect at a date in the future.","keywords":["schedule","feature workflows","enterprise","schedule","flag"],"description":null,"href":"/home/releases/scheduled-changes-create"},{"title":"Managing scheduled flag changes","og:description":"This topic explains how to manage scheduled flag changes.","keywords":["schedule","feature workflows","enterprise","schedule","flag"],"description":null,"href":"/home/releases/scheduled-changes-manage"}]},{"group":"Workflows","root":{"title":"Workflows","og:description":"This topic explains how to build, start, and view workflows in LaunchDarkly.","keywords":["workflow","rollout","maintenance window","automation","enterprise","risk mitigation"],"description":null,"href":"/home/releases/workflows"},"pages":[{"title":"Creating workflows","og:description":"This topic explains how to create and view workflows in LaunchDarkly.","keywords":["workflow","rollout","create","maintenance window","automation","enterprise"],"description":null,"href":"/home/releases/workflows-create"},{"title":"Deleting workflows","og:description":"This topic explains how to delete LaunchDarkly workflows in LaunchDarkly.","keywords":["workflow","rollout","delete","maintenance window","automation","enterprise"],"description":null,"href":"/home/releases/workflows-delete"},{"title":"Workflow templates","og:description":"This topic explains how to create and use workflow templates to automate your rollouts at scale.","keywords":["workflow","template","rollout","automation","enterprise"],"description":null,"href":"/home/releases/workflow-templates"}]}]},{"group":"Applications and app versions","icon":"folders","root":{"title":"Applications and app versions","og:description":"This topic explains what applications and application versions are and how to use them. An application is a LaunchDarkly resource that describes what you are delivering to a customer.","icon":"folders","keywords":["application","supported","unsupported","version","target","risk mitigation"],"description":null,"href":"/home/releases/apps-and-app-versions"},"pages":[{"title":"Applications","og:description":"This topic explains how to create, edit, and delete applications. An application is a LaunchDarkly resource that describes what you are delivering to a customer.","keywords":["application","supported","unsupported","version","target"],"description":null,"href":"/home/releases/applications"},{"title":"Application versions","og:description":"This topic explains how to create, edit, and delete application versions.","keywords":["application","supported","unsupported","version","target"],"description":null,"href":"/home/releases/app-versions"}]},{"title":"Change history","og:description":"This topic explains how to track changes made in LaunchDarkly. LaunchDarkly keeps a running log of changes made to feature flags in a given environment.","icon":"note","keywords":["audit log","history","account"],"description":null,"href":"/home/releases/change-history"},{"title":"Restoring previous flag versions","published":true,"og:description":"This topic explains how to use the change history tab to restore a feature flag to a previous version.","icon":"arrow-rotate-left","keywords":["restore","version"],"description":null,"href":"/home/releases/version-restore"}]},{"group":"Observability","pages":[{"title":"Observability","og:description":"This section contains documentation on LaunchDarkly's observability features.","icon":"eye","keywords":["observability"],"description":null,"href":"/home/observability"},{"title":"Session replay","og:description":"This topic explains how to use LaunchDarkly observability features to perform session replays.","icon":"spinner-third","keywords":["session replays","observability"],"description":null,"href":"/home/observability/session-replay"},{"title":"Error monitoring","og:description":"This topic explains how to use LaunchDarkly's observability features to understand and view errors in your application.","icon":"flag","keywords":["errors","observability"],"description":null,"href":"/home/observability/errors"},{"title":"Logs","og:description":"This topic explains how to use LaunchDarkly's observability features to view session logs.","icon":"note","keywords":["logs","observability"],"description":null,"href":"/home/observability/logs"},{"title":"Traces","og:description":"This topic explains how to use the observability Traces page to view OpenTelemetry trace data stored in LaunchDarkly.","icon":"diagram-nested","keywords":["traces","observability"],"description":null,"href":"/home/observability/traces"},{"group":"Observability metrics","icon":"chart-line-up","root":{"title":"Observability metrics","og:description":"This topic explains how to use LaunchDarkly observability features to ingest and visualize OpenTelemetry metrics from a variety of sources.","icon":"chart-line-up","keywords":["logs","traces","metrics","observability","datadog","agent","APM","apm","hooks","guarded rollouts","feature flags"],"description":null,"href":"/home/observability/observability-metrics"},"pages":[{"title":"Metric exemplars","og:description":"This topic explains how to use metric exemplars to connect points on an observability metric graph to the traces and sessions that produced them.","keywords":["exemplar","exemplars","metrics","observability","traces","sessions","session replay","opentelemetry"],"description":null,"href":"/home/observability/metric-exemplars"}]},{"title":"Product analytics events","og:description":"This topic describes how to use LaunchDarkly product analytics events with observability features to help you understand how system performance affects user activities in your application.","icon":"chart-line-up","description":null,"href":"/home/observability/product-analytics"},{"title":"LLM observability","og:description":"This topic explains how LaunchDarkly captures and displays large language model (LLM) spans, and how it groups related LLM spans into conversations.","icon":"diagram-project","keywords":["observability","llm","conversation","agent","spans","transcript","traces"],"description":null,"href":"/home/observability/llm-observability"},{"title":"Alerts","og:description":"This topic explains how to set alerts for LaunchDarkly's observability features. Alerts are a way to keep members of your organization aware of what is happening in your application.","icon":"diamond-exclamation","keywords":["observability","alert"],"description":null,"href":"/home/observability/alerts"},{"group":"Dashboards","icon":"chart-line-up","root":{"title":"Dashboards","og:description":"This topic explains how to use dashboards in LaunchDarkly observability.","icon":"chart-line-up","keywords":["dashboard","graph","observability","LLM","flag targeting"],"description":null,"href":"/home/observability/dashboards"},"pages":[{"title":"Creating custom dashboards","og:description":"This topic explains how to create and manage custom dashboards in LaunchDarkly observability.","keywords":["dashboard","graph","observability","custom","funnel","heatmap"],"description":null,"href":"/home/observability/custom-dashboards"}]},{"group":"Services","icon":"diagram-project","root":{"title":"Services","og:description":"This topic explains how to use the services views in LaunchDarkly observability to review your project services as a map, list, or a single service's details.","icon":"diagram-project","keywords":["services","service map","service list","observability","distributed tracing","service dependencies"],"description":null,"href":"/home/observability/services"},"pages":[{"title":"Service details","og:description":"This topic explains how to use a service's details panel in LaunchDarkly observability to review its health metrics, operations, flags, alerts, errors, and dependencies.","keywords":["service details","service","observability","RED metrics","operations","root span filter","dependencies"],"description":null,"href":"/home/observability/service-details"}]},{"title":"Vega for auto-remediation","og:description":"This topic explains how to use Vega to investigate and fix observability issues in LaunchDarkly.","icon":"chart-network","keywords":["vega","observability","auto-remediation"],"description":null,"href":"/home/observability/vega"},{"title":"Search specification","og:description":"This topic explains how to use LaunchDarkly's observability search feature to query and filter data across your application. The search functionality allows you to find specific sessions, errors, logs, and traces by composing queries with different properties and attributes.","icon":"magnifying-glass","keywords":["search","observability"],"description":null,"href":"/home/observability/search"},{"title":"Observability settings","og:description":"This topic describes the project-level settings available for sessions, errors, logs, and traces.","icon":"diagram-project","keywords":["monitor","settings","observability","session replay","errors","logs","traces"],"description":null,"href":"/home/observability/settings"},{"group":"Observability integrations","icon":"cloud-arrow-up","root":{"title":"Observability integrations","og:description":"The topics in this category explain how to configure third-party applications to send logs, metrics, and traces to LaunchDarkly Observability.","icon":"cloud-arrow-up","keywords":["logs","metrics","traces","third-party","integration","observability"],"description":null,"href":"/home/observability/integrations"},"pages":[{"title":"AWS CloudWatch Metrics","og:description":"This topic explains how to stream AWS CloudWatch metrics to LaunchDarkly observability features using CloudFormation.","keywords":["aws","cloudwatch","metrics","observability","otel","infrastructure"],"description":null,"href":"/home/observability/aws-cloudwatch-metrics"},{"title":"AWS FireLens","og:description":"This topic explains how to send container logs from Amazon ECS to LaunchDarkly observability using AWS FireLens.","keywords":["firelens","aws","ecs","logs","observability","fluent bit","kinesis","containers"],"description":null,"href":"/home/observability/firelens"},{"title":"Azure Monitor","og:description":"This topic explains how to stream Azure Monitor logs and metrics from your Azure subscription to LaunchDarkly observability features.","keywords":["azure","monitor","metrics","logs","observability","event hub","function"],"description":null,"href":"/home/observability/azure-monitor"},{"title":"Datadog Agent ingestion","og:description":"This topic explains how to send traces, metrics, and logs from the Datadog Agent to LaunchDarkly observability features.","keywords":["logs","traces","metrics","observability","datadog","agent","APM","apm","hooks","guarded rollouts","feature flags"],"description":null,"href":"/home/observability/datadog-agent"},{"title":"Fluent Bit","og:description":"This topic explains how to send logs from Fluent Bit to LaunchDarkly's observability dashboards.","keywords":["fluentbit","fluent bit","logs","observability","otel","logging","containers"],"description":null,"href":"/home/observability/fluentbit"},{"title":"Syslog log drain","og:description":"This topic explains how to send syslog-formatted logs to LaunchDarkly observability features, including from hosting platforms like Render.","keywords":["logs","observability","syslog","log drain","render","RFC5424"],"description":null,"href":"/home/observability/syslog"},{"title":"Vercel","og:description":"This topic explains how to send logs from Vercel to LaunchDarkly's observability features.","keywords":["logs","observability","vercel","log drain","serverless"],"description":null,"href":"/home/observability/vercel"}]}]},{"group":"Experimentation","pages":[{"group":"Experimentation","icon":"flask","root":{"title":"Experimentation","og:description":"This topic explains the concepts and value of the LaunchDarkly Experimentation feature.","icon":"flask","keywords":["experimentation","experiment","funnel","ab testing"],"description":null,"href":"/home/experimentation"},"pages":[{"title":"Experimentation prerequisites","og:description":"This topic explains the prerequisites required to use LaunchDarkly Experimentation.","keywords":["experimentation","experiment","ab testing"],"description":null,"href":"/home/experimentation-prerequisites"},{"title":"Quickstart for Experimentation","og:description":"This topic explains how to get started with LaunchDarkly Experimentation.","keywords":["experimentation","experiment","quickstart"],"description":null,"href":"/home/experimentation/quickstart"},{"title":"Experimentation and metric events","og:description":"This topic explains Experimentation and metric events and how they work.","keywords":["event","metric","experiment","experimentation"],"description":null,"href":"/home/experimentation/events"}]},{"title":"Experiment metric types","og:description":"This topic explains the different kinds of metrics you can use with experiments in LaunchDarkly.","icon":"circle-waveform-lines","keywords":["create","configure","experiment","funnel","experimentation","metric","enterprise"],"description":null,"href":"/home/experimentation/types"},{"group":"Experiment configuration","icon":"wand-magic-sparkles","root":{"title":"Experiment configuration","og:description":"The topics in this category explain how to set up and configure an experiment in LaunchDarkly.","icon":"wand-magic-sparkles","keywords":["create","configure","experiment","funnel","experimentation","metric"],"description":null,"href":"/home/experimentation/configure"},"pages":[{"title":"Creating experiments","og:description":"This topic explains how to create and configure an experiment in LaunchDarkly.","keywords":["create","configure","experiment","experimentation","metric"],"description":null,"href":"/home/experimentation/create"},{"title":"Sample size calculations","og:description":"This topic explains how to use the sample size calculator to estimate how many units your experiment needs and how long it needs to run to return meaningful results.","keywords":["sample size","calculator","power","minimum detectable effect","frequentist","experiment","experimentation"],"description":null,"href":"/home/experimentation/sample-size-calculator"},{"title":"Allocating experiment audiences","og:description":"This topic explains how to include specific groups of contexts in an experiment audience using audience allocation.","keywords":["population","audience","allocation","ab testing","experiment","experimentation"],"description":null,"href":"/home/experimentation/allocation"},{"title":"Experiment traffic assignment","og:description":"This topic explains how LaunchDarkly assigns contexts to experiment variations and what causes those assignments to change.","keywords":["allocation","assignment","bucket","seed","sticky","reshuffling","layers","experiment","experimentation"],"description":null,"href":"/home/experimentation/traffic-assignment"},{"title":"Randomization units","og:description":"This topic explains what randomization units are and how to use them in LaunchDarkly Experimentation.","keywords":["randomization","audience","ab testing","experiment","experimentation"],"description":null,"href":"/home/experimentation/randomization"},{"title":"Traffic reshuffling","og:description":"This topic explains how LaunchDarkly assigns or reassigns contexts to flag variations when you make changes to an experiment.","keywords":["carryover","audience","ab testing","persist","traffic","reshuffling","experiment","experimentation","reassignment"],"description":null,"href":"/home/experimentation/reshuffle"},{"title":"Mutually exclusive experiments","og:description":"This topic explains what mutually exclusive experiments are and when to use them.","keywords":["audience","layers","ab testing","experiment","experimentation"],"description":null,"href":"/home/experimentation/mutually-exclusive"}]},{"group":"Managing experiments","icon":"chart-line-up","root":{"title":"Managing experiments","og:description":"This topic explains how to view and filter the experiments list.","icon":"chart-line-up","keywords":["manage","persist","traffic","reshuffle","experiment","experimentation"],"description":null,"href":"/home/experimentation/manage"},"pages":[{"title":"Experiment health checks","og:description":"This topic explains how to use health checks for experiments to verify that you set up your experiment correctly and fix any problems with your configuration.","keywords":["experiment","metric"],"description":null,"href":"/home/experimentation/health-checks"},{"title":"Validate experiment exposures","og:description":"This topic explains how to use the Exposures tab to verify which contexts were assigned to which flag variations within an experiment.","keywords":["experiment","exposure","variation","assignment","debug","troubleshoot"],"description":null,"href":"/home/experimentation/exposure-validation"},{"title":"Starting and stopping experiment iterations","og:description":"This topic explains how to start recording an experiment iteration and stop the experiment iteration when you're finished.","keywords":["iteration","start","stop","experiment","experimentation","enterprise"],"description":null,"href":"/home/experimentation/start-stop-exp"},{"title":"Editing and archiving experiments","published":true,"og:description":"This topic explains how to edit, clone, and archive experiments.","keywords":["experiment","experimentation","archive"],"description":null,"href":"/home/experimentation/edit-archive"},{"title":"Experiment sample size and run time","og:description":"This topic explains how to determine the number of contexts to include in an experiment and how long to run the experiment for.","keywords":["winning","variation","experiment","experimentation","enterprise"],"description":null,"href":"/home/experimentation/size"}]},{"group":"Analyzing experiments","icon":"eye","root":{"title":"Analyzing experiments","og:description":"This topic explains the experiment analysis options available in LaunchDarkly.","icon":"eye","keywords":["analyze","result","experiment","funnel","experimentation","enterprise"],"description":null,"href":"/home/experimentation/analyze"},"pages":[{"title":"Experiment results data","og:description":"This topic explains how to interpret an experiment's results and apply its findings to your product.","keywords":["analyze","result","experiment","funnel","experimentation","enterprise"],"description":null,"href":"/home/experimentation/results-data"},{"group":"Bayesian experiment results","root":{"title":"Bayesian experiment results","og:description":"This topic explains how to read the results of a Bayesian experiment.","keywords":["probability","experiment","funnel","experimentation","enterprise"],"description":null,"href":"/home/experimentation/bayesian-results"},"pages":[{"title":"Shipping the winning variation","og:description":"This topic explains how to choose and ship a winning variation for a completed Bayesian experiment.","keywords":["winning","variation","experiment","funnel","experimentation","enterprise"],"description":null,"href":"/home/experimentation/winning"},{"title":"Decision making with Bayesian statistics","og:description":"This topic explains how to make decisions about which variation to choose as the winner in a LaunchDarkly experiment that uses Bayesian statistics.","keywords":["winning","variation","experiment","experimentation"],"description":null,"href":"/home/experimentation/bayesian"},{"title":"Outliers in Bayesian experiments","og:description":"This topic explains how LaunchDarkly Experimentation handles outliers in its Bayesian experiment analyses.","keywords":["outlier","experiment","experimentation"],"description":null,"href":"/home/experimentation/outliers"}]},{"title":"Frequentist experiment results","og:description":"This topic explains how to read the results of a frequentist experiment.","keywords":["probability","experiment","funnel","experimentation","enterprise"],"description":null,"href":"/home/experimentation/frequentist-results"},{"title":"Filtering experiment results","og:description":"This topic explains how to use attribute filters to narrow experiment results by attribute.","keywords":["analyze","result","experiment","experimentation"],"description":null,"href":"/home/experimentation/filters"}]},{"group":"Multi-armed bandits","icon":"merge","root":{"title":"Multi-armed bandits","og:description":"This section contains documentation on multi-armed bandits, which are a type of experiment that uses a decision-making algorithm that dynamically allocates traffic to the best-performing variation of a flag based on a metric you choose.","icon":"fa-merge","keywords":["mab","multi-armed bandit","experimentation","experiment"],"description":null,"href":"/home/multi-armed-bandits"},"pages":[{"title":"Creating multi-armed bandits","og:description":"This topic explains how to create multi-armed bandits.","keywords":["mab","multi-armed bandit","experimentation","experiment"],"description":null,"href":"/home/multi-armed-bandits/create"},{"title":"Editing and archiving multi-armed bandits","og:description":"This topic explains how to edit a multi-armed bandit (MAB) and archive it when you no longer need it.","keywords":["mab","edit","archive"],"description":null,"href":"/home/multi-armed-bandits/edit-archive"},{"title":"Multi-armed bandit results","og:description":"This topic explains how to read the results of a multi-armed bandit.","keywords":["probability","experiment","funnel","experimentation","enterprise"],"description":null,"href":"/home/multi-armed-bandits/results"}]},{"group":"Holdouts","icon":"shapes","root":{"title":"Holdouts","og:description":"This topic introduces holdouts, which you can use to measure the effectiveness of your Experimentation program over time.","icon":"shapes","keywords":["holdout","experimentation","experiment","ab testing"],"description":null,"href":"/home/holdouts"},"pages":[{"title":"Creating holdouts","og:description":"This topic explains how to create and add experiments to holdouts.","keywords":["holdout","experimentation","experiment","funnel","ab testing"],"description":null,"href":"/home/holdouts/create"},{"title":"Managing holdouts","og:description":"This topic explains how to manage holdouts and interpret their results.","keywords":["holdout","experimentation","experiment","funnel","ab testing"],"description":null,"href":"/home/holdouts/manage"}]}]},{"group":"Metrics and events","pages":[{"group":"Metrics in LaunchDarkly","icon":"chart-line-up","root":{"title":"Metrics in LaunchDarkly","published":true,"og:description":"This topic explains what metrics are, why to use them, and where to find them in LaunchDarkly.","icon":"chart-line-up","keywords":["metric","experimentation","rollout","measurement","analytics"],"description":null,"href":"/home/metrics"},"pages":[{"title":"Using the Metrics list","published":true,"og:description":"This topic explains how to use the Metrics list to view, search, and filter metrics in your project.","keywords":["metrics","list","filter","sort","search","experiments","rollouts"],"description":null,"href":"/home/metrics/metrics-list"},{"title":"Metric impact","og:description":"This topic explains how to use the metric Impact tab.","keywords":["metric","impact","experiment","experimentation"],"description":null,"href":"/home/metrics/metric-impact"},{"title":"Metric health checks","published":true,"og:description":"This topic explains how to use metric health checks to confirm that your metrics are active and ready for use in experiments and rollouts.","keywords":["metric","health check","experimentation","rollout"],"description":null,"href":"/home/metrics/metric-health-checks"}]},{"group":"Creating metrics","icon":"ruler","root":{"title":"Creating metrics","og:description":"This topic explains how to create, edit, archive, and delete metrics, and how to select metrics to use with LaunchDarkly experiments and guarded rollouts.","icon":"ruler","keywords":["metric","create","configure","experiment","experimentation"],"description":null,"href":"/home/metrics/create-metrics"},"pages":[{"group":"Components of a metric","root":{"title":"Components of a metric","published":true,"og:description":"This topic describes the key components of a LaunchDarkly metric.","keywords":["metric","components","parts","events","analysis","aggregation","measurement","experiments","rollouts","analytics"],"description":null,"href":"/home/metrics/components"},"pages":[{"title":"Metric measurement window","published":true,"og:description":"This topic describes how to use metric measurement windows to prevent bias in experiment results.","keywords":["metric","window","components","skew","bias","measurement","experiments","rollout","time","period","warehouse"],"description":null,"href":"/home/metrics/components/window"},{"title":"Metric winsorization","published":true,"og:description":"This topic describes how to use configure metric winsorization to eliminate extreme values in experiment results.","keywords":["metric","components","winsorization","measurement","experiments","outliers","warehouse"],"description":null,"href":"/home/metrics/components/winsorization"}]},{"group":"Choosing a metric type","root":{"title":"Choosing a metric type","og:description":"The topics in this category help you understand the different types of LaunchDarkly metric so you can choose the correct metric for an experiment or guarded rollout.","keywords":["metric","choose","configure","experiment","experimentation","guardrail"],"description":null,"href":"/home/metrics/choose"},"pages":[{"title":"Page viewed conversion metrics","og:description":"This topic explains how to create a page view conversion metric in LaunchDarkly.","keywords":["page view","metric","experiment","experimentation"],"description":null,"href":"/home/metrics/pageview"},{"title":"Clicked or tapped conversion metrics","og:description":"This topic explains how to create a clicked or tapped metric for use in LaunchDarkly experiments, guarded rollouts, or release policies.","keywords":["conversion","click","metric","experiment","experimentation"],"description":null,"href":"/home/metrics/click"},{"group":"Custom metrics","root":{"title":"Custom metrics","og:description":"This topic explains how to create custom metrics in LaunchDarkly. Custom metrics require that you first instrument custom events in your application code using the LaunchDarkly SDK `track()` method.","keywords":["metric","custom","create"],"description":null,"href":"/home/metrics/custom-metrics"},"pages":[{"title":"Custom conversion count metrics","og:description":"This topic explains how to create a custom conversion count metric in LaunchDarkly.","keywords":["conversion","metric","experiment","experimentation"],"description":null,"href":"/home/metrics/custom-count"},{"title":"Custom conversion binary metrics","og:description":"This topic explains how to create a custom conversion binary metric in LaunchDarkly.","keywords":["conversion","metric","binary","experiment","experimentation"],"description":null,"href":"/home/metrics/custom"},{"title":"Custom numeric metrics","og:description":"This topic explains how to create a custom numeric metric in LaunchDarkly.","keywords":["numeric","metric","experiment","experimentation"],"description":null,"href":"/home/metrics/custom-numeric"},{"title":"Filtering custom metric events","og:description":"This topic explains how to use filters to include only specific custom events in a metric, based on context attributes, event properties, or warehouse column values.","keywords":["filter","metric","event","experiment","experimentation","snowflake","warehouse"],"description":null,"href":"/home/metrics/event-filters"}]},{"title":"Count distinct metrics","og:description":"This topic explains how to create a count distinct metric, which measures the number of unique values in a warehouse column.","keywords":["metric","count distinct","unique","warehouse","warehouse native","experimentation","numeric"],"description":null,"href":"/home/metrics/count-distinct"},{"title":"Ratio metrics","og:description":"This topic explains how to create LaunchDarkly ratio metrics.","keywords":["metric","ratio","warehouse","experimentation","numerator","denominator","aggregation"],"description":null,"href":"/home/metrics/ratio-metrics"}]},{"title":"Creating metrics from traces","og:description":"This topic explains how to create LaunchDarkly custom metrics from OpenTelemetry traces.","keywords":["metric","create","traces","spans","observability"],"description":null,"href":"/home/metrics/create-trace-metrics"},{"title":"Managing metrics","og:description":"This topic explains how to view, edit, archive, and delete existing metrics.","keywords":["metric","edit","archive","delete"],"description":null,"href":"/home/metrics/manage-metrics"}]},{"group":"Metric groups","icon":"notes","root":{"title":"Metric groups","og:description":"This topic explains what metric groups are and when to use them.","icon":"notes","keywords":["metric group","funnel","experiment","experimentation"],"description":null,"href":"/home/metrics/metric-groups"},"pages":[{"title":"Creating metric groups","og:description":"This topic explains how to create and manage metric groups.","keywords":["metric group","funnel","create","configure","experiment","experimentation"],"description":null,"href":"/home/metrics/metric-groups-manage"}]},{"group":"Events","icon":"circles-overlap","root":{"title":"Events","og:description":"This topic explains the different metric event types and their SDK compatibility.","icon":"circles-overlap","keywords":["metric","event","experiment","experimentation"],"description":null,"href":"/home/metrics/metric-events"},"pages":[{"title":"Viewing incoming events","og:description":"This topic explains how to view metric events your SDKs are sending to LaunchDarkly, and how to create metrics from those events.","keywords":["metric","event","experiment","experimentation"],"description":null,"href":"/home/metrics/view-incoming-events"},{"title":"Previewing event data","og:description":"This topic explains where custom event previews are available, what the previews contain, and the preview states you may encounter.","keywords":["metric","custom","events","preview"],"description":null,"href":"/home/metrics/custom-previews"},{"title":"Importing events","og:description":"This topic explains how to import metric events from your existing data pipeline for use with Experimentation and guarded rollouts.","keywords":["import","metric","experimentation","event","rest","api"],"description":null,"href":"/home/metrics/import-events"}]},{"group":"Autogenerated metrics","icon":"circle-waveform-lines","root":{"title":"Autogenerated metrics","og:description":"This topic explains the metrics LaunchDarkly automatically generates from SDK events and how you can use them to monitor the health of your applications.","icon":"circle-waveform-lines","keywords":["metric","experiment","experimentation"],"description":null,"href":"/home/metrics/autogen-metrics"},"pages":[{"title":"AgentControl config autogenerated metrics","og:description":"This topic describes metrics that LaunchDarkly autogenerates from AgentControl config events.","keywords":["metric","autogenerated","automatic","AI","AgentControl"],"description":null,"href":"/home/metrics/autogen/ai"},{"title":"Observability autogenerated metrics","og:description":"This topic describes metrics that LaunchDarkly autogenerates from observability session replay events.","keywords":["metric","autogenerated","automatic","observability"],"description":null,"href":"/home/metrics/autogen/observability"},{"title":"OpenTelemetry autogenerated metrics","og:description":"This topic describes metrics that LaunchDarkly autogenerates from certain OpenTelemetry span events.","keywords":["metric","autogenerated","automatic","observability"],"description":null,"href":"/home/metrics/autogen/opentelemetry"}]}]},{"group":"Warehouse native","pages":[{"group":"Warehouse native metrics","icon":"ruler","root":{"title":"Warehouse native metrics","og:description":"This topic explains how to configure a warehouse native metric for use in LaunchDarkly experiments. Warehouse native metrics measure events stored in an external warehouse you specify.","icon":"ruler","keywords":["warehouse","native","metric","experiment","experimentation"],"description":null,"href":"/home/warehouse-native/metrics"},"pages":[{"title":"Metric data sources","og:description":"This topic explains how to create metric data sources for warehouse native metrics.","keywords":["warehouse","metric","experiment","experimentation"],"description":null,"href":"/home/warehouse-native/metric-data-sources"}]},{"group":"Assignment data sources","icon":"table","root":{"title":"Assignment data sources","og:description":"This topic explains how to analyze LaunchDarkly experiments using exposure data from an external data warehouse.","keywords":["warehouse","assignment","experiment","experimentation","data source"],"description":null,"href":"/home/warehouse-native/assignment-data-sources"},"pages":[{"title":"Creating and managing assignment data sources","og:description":"This topic explains how to create and manage assignment data sources.","keywords":["warehouse","assignment","experiment","experimentation","data source"],"description":null,"href":"/home/warehouse-native/manage-assignment-data-sources"}]},{"group":"Setting up external warehouses","icon":"warehouse","root":{"title":"Setting up external warehouses","og:description":"This category includes documentation about running LaunchDarkly experiments using metric events from your external warehouse.","icon":"warehouse","keywords":["snowflake","redshift","bigquery","clickhouse","experimentation","warehouse","data export"],"description":null,"href":"/home/warehouse-native/warehouses"},"pages":[{"title":"BigQuery native Experimentation","og:description":"This topic explains how to set up the BigQuery native Experimentation integration.","keywords":["experimentation","warehouse","bigquery","google cloud","authentication","workload identity federation"],"description":null,"href":"/home/warehouse-native/bigquery"},{"title":"ClickHouse native Experimentation","og:description":"This topic explains how to set up the ClickHouse native Experimentation integration.","keywords":["clickhouse","experimentation","warehouse","data export"],"description":null,"href":"/home/warehouse-native/clickhouse"},{"title":"Databricks native Experimentation","og:description":"This topic explains how to set up the Databricks native Experimentation integration.","keywords":["experimentation","warehouse","databricks","oauth","authentication","service principal"],"description":null,"href":"/home/warehouse-native/databricks"},{"title":"Redshift native Experimentation","og:description":"This topic explains how to set up the Redshift warehouse native Experimentation integration.","keywords":["redshift","experimentation","warehouse","data export"],"description":null,"href":"/home/warehouse-native/redshift"},{"group":"Snowflake native Experimentation","root":{"title":"Snowflake native Experimentation","og:description":"This category includes documentation about how to connect LaunchDarkly to Snowflake and run LaunchDarkly experiments using metric events from your Snowflake warehouse.","keywords":["snowflake","experimentation","warehouse","data export"],"description":null,"href":"/home/warehouse-native/snowflake"},"pages":[{"title":"Snowflake data requirements","og:description":"This topic explains the data requirements for Snowflake native Experimentation.","keywords":["experimentation","warehouse"],"description":null,"href":"/home/warehouse-native/snowflake-requirements"},{"title":"Setting up the Snowflake integration","og:description":"This topic explains how to set up the Snowflake integration.","keywords":["experimentation","warehouse"],"description":null,"href":"/home/warehouse-native/snowflake-configure"},{"title":"Snowflake common questions","og:description":"This topic provides answers to common questions about working with Snowflake native Experimentation.","keywords":["experimentation","warehouse"],"description":null,"href":"/home/warehouse-native/snowflake-questions"}]},{"title":"Warehouse health checks","published":true,"og:description":"This topic explains how warehouse health checks help you troubleshoot connection errors with your warehouse Data Export destinations.","keywords":["warehouse","health check","data export","experimentation","integration"],"description":null,"href":"/home/warehouse-native/warehouse-health-checks"}]},{"title":"Creating experiments using warehouse native metrics","og:description":"This topic explains how to set up and configure an experiment in LaunchDarkly that uses metric events from your own data warehouse.","icon":"wand-magic-sparkles","keywords":["warehouse","experiment","experimentation"],"description":null,"href":"/home/warehouse-native/creating"}]},{"group":"Infrastructure","pages":[{"group":"Connect apps and services to LaunchDarkly","icon":"plug","root":{"title":"Connect apps and services to LaunchDarkly","og:description":"This category has documentation topics about different methods to connect your services and applications to LaunchDarkly.","icon":"plug","description":null,"href":"/home/infrastructure/apps"},"pages":[{"title":"Custom properties","og:description":"This topic explains how to set up and use custom properties in LaunchDarkly. They let you store integration data in a feature flag. Each custom property you add to a feature flag can contain a list of associated values.","keywords":["custom property"],"description":null,"href":"/home/infrastructure/custom-properties"},{"title":"OAuth applications","og:description":"This topic explains how to authorize or revoke access of an OAuth app. You can connect your LaunchDarkly account to external applications using the OAuth 2.0 protocol.","keywords":["oauth","permission","admin","support"],"description":null,"href":"/home/infrastructure/oauth"},{"title":"Webhooks","og:description":"This topic explains how to create and use webhooks in LaunchDarkly. LaunchDarkly's webhooks allow you to build your own integrations. When something changes, LaunchDarkly sends an HTTP POST payload to the webhook's configured URL.","keywords":["webhook","integration","policy"],"description":null,"href":"/home/infrastructure/webhooks"},{"title":"The LaunchDarkly API","og:description":"This topic explains how to access LaunchDarkly's API documentation.","keywords":["api","rest","enterprise"],"description":null,"href":"/home/infrastructure/api"}]},{"title":"LaunchDarkly in China and Pakistan","og:description":"This topic explains how to access LaunchDarkly from China or Pakistan.","icon":"earth-asia","keywords":["china","pakistan","bootstrap","relay proxy"],"description":null,"href":"/home/infrastructure/china"},{"title":"LaunchDarkly in the European Union (EU)","og:description":"This topic explains how LaunchDarkly is different in a domain controlled by the European Union (EU).","icon":"earth-europe","keywords":["eu","european union","relay proxy","sdk","url"],"description":null,"href":"/home/infrastructure/eu"},{"group":"LaunchDarkly in federal environments","icon":"building-columns","root":{"title":"LaunchDarkly in federal environments","og:description":"This topic explains how LaunchDarkly is different in a domain controlled by the United States government.","icon":"building-columns","keywords":["federal","relay proxy","sdk","url"],"description":null,"href":"/home/infrastructure/federal"},"pages":[{"title":"LaunchDarkly in environments requiring FIPS 140-3 validated encryption modules","og:description":"This topic explains how customers can use LaunchDarkly in environments that require that all data is encrypted in transit using FIPS 140-3 validated encryption modules.","keywords":["federal","relay proxy","sdk","encryption"],"description":null,"href":"/home/infrastructure/fips-140-3-encryption"}]},{"title":"Public IP list","og:description":"This topic explains how to access LaunchDarkly through one of our public IPs. If you're using a firewall, add a LaunchDarkly IP range to your firewall settings.","icon":"memo","keywords":["ip","url","json","allowlist"],"description":null,"href":"/home/infrastructure/ip-list"}]},{"group":"Your account","pages":[{"group":"Projects","icon":"diagram-project","root":{"title":"Projects","og:description":"This topic explains what projects are in LaunchDarkly. Projects let you manage multiple different business objectives from one LaunchDarkly account. You can use them to manage different priorities, teams, and tasks across your organization.","icon":"diagram-project","keywords":["project","environment","custom role","viewproject","delete"],"description":null,"href":"/home/account/project"},"pages":[{"title":"Edit projects","og:description":"This topic describes project settings and how to update them.","keywords":["project","environment","naming convention"],"description":null,"href":"/home/account/edit-project"},{"title":"Create private projects with custom roles","og:description":"This topic explains how to create private projects or restrict access to projects. It uses the viewProject action to restrict and grant access to projects.","keywords":["project","private","viewproject","custom role"],"description":null,"href":"/home/account/private-projects"}]},{"group":"Views","icon":"layer-group","root":{"title":"Views","og:description":"This category explains what views are in LaunchDarkly and how to use them to organize resources in your projects.","icon":"layer-group","keywords":["view","project","access","permission","role"],"description":null,"href":"/home/account/views"},"pages":[{"title":"Create views","og:description":"This topic explains how to create views and link resources to those views.","keywords":["view","project","access","permission","role"],"description":null,"href":"/home/account/views/create"},{"title":"Manage views","og:description":"This topic explains how to edit and delete views in LaunchDarkly, and how to require resources to be linked to a view.","keywords":["view","project","access","permission","role"],"description":null,"href":"/home/account/views/manage"}]},{"group":"Environments","icon":"globe","root":{"title":"Environments","og:description":"This category explains what environments are in LaunchDarkly and how to use them to manage different business areas or areas of your product lifecycle.","icon":"globe","keywords":["environment","project","key","sdk key","critical"],"description":null,"href":"/home/account/environment"},"pages":[{"title":"Create environments","og:description":"This topic explains how to create environments in LaunchDarkly.","keywords":["environment","project","key","sdk key"],"description":null,"href":"/home/account/environment/create"},{"title":"Edit environment settings","og:description":"This topic explains how to edit the environment settings in LaunchDarkly.","keywords":["environment","project","configuration","ttl","sdk key","rotate"],"description":null,"href":"/home/account/environment/settings"},{"title":"Delete environments","og:description":"This topic explains how to delete environments in LaunchDarkly.","keywords":["environment","project","delete"],"description":null,"href":"/home/account/environment/delete"},{"title":"Clone environments","og:description":"This topic explains how to clone environments in LaunchDarkly.","keywords":["environment","project","clone"],"description":null,"href":"/home/account/environment/clone"},{"title":"SDK credentials","og:description":"This topic explains how to view, copy, rotate, create, and delete SDK credentials and environment keys.","keywords":["environment","project","configuration","ttl","sdk key","rotate"],"description":null,"href":"/home/account/environment/keys"}]},{"title":"Tags","og:description":"This topic explains how to use tags with LaunchDarkly resources.","icon":"notes","keywords":["tag","resource"],"description":null,"href":"/home/account/tags"},{"group":"Teams","icon":"user-group","root":{"title":"Teams","og:description":"This category contains documentation topics about how to set up and manage teams within your LaunchDarkly organization.","icon":"user-group","keywords":["team","enterprise","role","permission","maintain"],"description":null,"href":"/home/account/teams"},"pages":[{"title":"Creating a team","og:description":"This topic explains how to create a new team in LaunchDarkly and the order in which to create teams and roles.","keywords":["create","team","enterprise","admin"],"description":null,"href":"/home/account/create-teams"},{"title":"Managing teams","og:description":"This topic explains how to manage team members in LaunchDarkly.","keywords":["manage","team","enterprise","custom role","member"],"description":null,"href":"/home/account/manage-teams"},{"title":"Managing team maintainers","og:description":"This topic explains how to add and remove team maintainers from teams.","keywords":["team","enterprise","role","permission","maintain"],"description":null,"href":"/home/account/team-maintainers"},{"title":"Deleting teams","og:description":"This topic explains how to delete teams in LaunchDarkly.","keywords":["team","enterprise","role","permission","maintain"],"description":null,"href":"/home/account/delete-teams"}]},{"group":"Members","icon":"user-gear","root":{"title":"Members","og:description":"This category introduces the concept of account members in LaunchDarkly and shows you how to use the Members list.","icon":"user-gear","keywords":["account","member","scim","sso","role","admin"],"description":null,"href":"/home/account/members"},"pages":[{"title":"Your member profile","og:description":"This topic explains how to access and use the Profile page to manage the information associated with your member profile.","keywords":["profile","member","password","email","mfa"],"description":null,"href":"/home/account/profile"},{"title":"Using one email for multiple accounts","og:description":"This topic explains how to use the same email address for multiple LaunchDarkly accounts.","keywords":["email","accounts","authentication","sso","mfa"],"description":null,"href":"/home/account/multiple-accounts"}]},{"group":"Roles","icon":"id-badge","root":{"title":"Roles","og:description":"This category describes roles in LaunchDarkly. A role is a description of the access that a member or team has within LaunchDarkly.","icon":"id-badge","keywords":["account","member","role","permissions"],"description":null,"href":"/home/account/roles"},"pages":[{"group":"Member role concepts","root":{"title":"Member role concepts","og:description":"This topic is an overview of concepts that are important to creating roles for members and teams.","keywords":["role","resource","policy","action","tag","role","property","selector","critical"],"description":null,"href":"/home/account/roles/role-concepts"},"pages":[{"title":"Updates to actions and resources","og:description":"This topic lists recent changes to LaunchDarkly custom role actions, resources, and roles.","keywords":["reference","action","policy","resource","custom role"],"description":null,"href":"/home/account/roles/role-updates"},{"title":"Using actions","og:description":"This topic is a complete reference of all actions that are available to use in role policies.","keywords":["reference","action","policy","resource","custom role"],"description":null,"href":"/home/account/roles/role-actions"},{"title":"Using resources","og:description":"This topic explains how to specify different resources to use with roles, integrations access, and Relay Proxy access.","keywords":["resource","policy","custom role"],"description":null,"href":"/home/account/roles/role-resources"},{"title":"Using role scope","og:description":"This topic explains how to work with role scope and role attributes.","keywords":["role scope","role attribute","resource","json","custom role"],"description":null,"href":"/home/account/roles/role-scope"},{"title":"Using policies","og:description":"This topic explains how to work with policies for roles, integrations access, and Relay Proxy access. Policies combine resources and actions into a set of statements that define what members can or cannot do in LaunchDarkly.","keywords":["policy","resource","json","custom role"],"description":null,"href":"/home/account/roles/role-policies"},{"title":"Using the advanced editor","og:description":"This topic explains how to access and use the advanced editor to create complex roles and policies. The advanced editor is a tool for experienced LaunchDarkly members who want to create their own roles.","keywords":["advanced editor","policy","member","resource","custom role"],"description":null,"href":"/home/account/roles/advanced-editor"}]},{"group":"Managing role assignments","root":{"title":"Managing role assignments","og:description":"This topic explains the different role types, and how different roles interact. You can use LaunchDarkly roles to give each member precise permissions and access to different aspects of LaunchDarkly.","keywords":["account","member","project"],"description":null,"href":"/home/account/roles/manage-role-assignments"},"pages":[{"title":"Assigning roles to members","og:description":"This topic explains how to assign roles to members in LaunchDarkly.","keywords":["policy","member","resource","role"],"description":null,"href":"/home/account/roles/manage-role-assign"},{"title":"Viewing member roles","og:description":"This topic explains how to view roles for members in LaunchDarkly.","keywords":["account","member","project"],"description":null,"href":"/home/account/roles/manage-role-view"},{"title":"Changing member roles","og:description":"This topic explains how to change the roles assigned to members in LaunchDarkly.","keywords":["account","member","project","role"],"description":null,"href":"/home/account/roles/manage-role-change"},{"title":"Removing member roles","og:description":"This topic explains how to remove roles from members in LaunchDarkly.","keywords":["create","policy","member","resource","role"],"description":null,"href":"/home/account/roles/manage-role-remove"},{"title":"Assigning roles to teams","og:description":"This topic explains how to assign roles to teams in LaunchDarkly.","keywords":["policy","member","resource","role","team"],"description":null,"href":"/home/account/roles/manage-role-team"},{"title":"Changing account Owners","og:description":"This topic explains how to change which account member has the Owner role in your LaunchDarkly account, as well as what the Owner role entails.","keywords":["account","admin","role"],"description":null,"href":"/home/account/roles/owners"}]},{"group":"Managing roles","root":{"title":"Managing roles","og:description":"This section explains what roles are and how to manage them. Roles give you precise access control to everything in LaunchDarkly, including feature flags, projects, environments, metrics, and teams. Use them to enforce access policies that meet your exact needs.","keywords":["role","permission","access","resource","policy"],"description":null,"href":"/home/account/roles/manage-roles"},"pages":[{"title":"Organization roles","og:description":"This topic explains the organization roles that come with every LaunchDarkly account, and how they relate to each other.","keywords":["preset","role","admin","role","permission","organization role"],"description":null,"href":"/home/account/roles/organization-roles"},{"title":"Project roles","og:description":"This topic explains the project roles that come with some LaunchDarkly accounts, and how they relate to each other.","keywords":["preset","role","admin","role","permission","project role"],"description":null,"href":"/home/account/roles/project-roles"},{"title":"Creating roles and policies","og:description":"This topic explains how to create roles and policies in LaunchDarkly.","keywords":["create","policy","member","resource","role"],"description":null,"href":"/home/account/roles/role-create"},{"title":"Editing roles","og:description":"This topic explains how to edit roles and policies in LaunchDarkly.","keywords":["edit","policy","member","resource","role"],"description":null,"href":"/home/account/roles/role-edit"},{"title":"Deleting roles","og:description":"This topic explains how to delete roles in LaunchDarkly.","keywords":["delete","policy","member","resource","role"],"description":null,"href":"/home/account/roles/role-delete"},{"title":"Example roles and policies","og:description":"This topic shows some examples of different roles and policies you can implement with policy statements for roles, integrations access, and Relay Proxy access.","keywords":["policy","admin","role","template","critical"],"description":null,"href":"/home/account/roles/example-roles"}]}]},{"group":"Account security","icon":"shield-keyhole","root":{"title":"Account security","og:description":"This category has documentation topics about securely managing your LaunchDarkly account and feature flags.","icon":"shield-keyhole","keywords":["security","custom role","mfa"],"description":null,"href":"/home/account/secure"},"pages":[{"group":"Single sign-on","root":{"title":"Single sign-on","og:description":"This topic explains what Single Sign-On (SSO) features are available in LaunchDarkly.","keywords":["sso","enterprise","admin","member","idp"],"description":null,"href":"/home/account/sso"},"pages":[{"group":"Configure SAML SSO","root":{"title":"Configure SAML SSO","og:description":"This topic explains how to configure your LaunchDarkly account for SAML SSO.","keywords":["saml","sso","idp"],"description":null,"href":"/home/account/saml"},"pages":[{"title":"Active Directory Federation Services (ADFS)","og:description":"This topic explains how to configure a self-hosted ADFS server with LaunchDarkly.","keywords":["adfs","sso","enterprise","custom role","idp"],"description":null,"href":"/home/account/adfs"},{"title":"Entra ID","og:description":"This topic explains how to integrate LaunchDarkly with Microsoft Entra ID. The Entra ID App Gallery includes LaunchDarkly and provides a LaunchDarkly application template that facilitates configuration.","keywords":["azure","entra","sso","enterprise","attribute","context","idp","user"],"description":null,"href":"/home/account/entra"},{"title":"Google Workspace","og:description":"This topic explains how to configure Google Workspace to support single sign-on (SSO) in LaunchDarkly.","keywords":["google","enterprise","sso","saml","idp"],"description":null,"href":"/home/account/google"},{"title":"Okta","og:description":"This topic explains how Okta and LaunchDarkly use SCIM to provide user management for your account members. You can connect LaunchDarkly and Okta through the Okta UI, give Okta permissions to modify account members in LaunchDarkly, and even integrate LaunchDarkly custom roles with Okta.","keywords":["okta","admin","scim","sso","custom role","idp"],"description":null,"href":"/home/account/okta"},{"title":"OneLogin","og:description":"This topic explains how to connect OneLogin to LaunchDarkly.","keywords":["onelogin","saml","admin","sso","custom role","idp"],"description":null,"href":"/home/account/onelogin"},{"title":"PingIdentity","og:description":"This topic explains how to set up SAML-based single sign-on (SSO) with PingIdentity.","keywords":["pingidentity","sso","saml","enterprise","custom role","idp"],"description":null,"href":"/home/account/pingidentity"}]},{"group":"Enable SCIM provisioning","root":{"title":"Enable SCIM provisioning","og:description":"This topic explains how to enable SCIM user provisioning to work with your SSO-enabled LaunchDarkly account.","keywords":["scim","sso","idp"],"description":null,"href":"/home/account/scim"},"pages":[{"title":"Using the SCIM API","og:description":"This topic explains how to use the SCIM API to work with users, roles groups in your SSO-enabled LaunchDarkly account.","keywords":["scim","sso","idp","api","teams","groups"],"description":null,"href":"/home/account/scim-api"}]},{"title":"Enable SSO","og:description":"This topic explains how to enable SSO for your LaunchDarkly account.","keywords":["saml","sso","idp"],"description":null,"href":"/home/account/saml/enable"},{"title":"Disable SSO","og:description":"This topic explains how to disable SSO for your LaunchDarkly account.","keywords":["saml","sso","idp"],"description":null,"href":"/home/account/saml/disable"},{"title":"Change SSO providers","og:description":"This topic explains how to change SSO providers for your LaunchDarkly account.","keywords":["saml","sso","idp"],"description":null,"href":"/home/account/saml/providers"},{"title":"Google OAuth","og:description":"This topic explains how to configure Google OAuth for LaunchDarkly.","keywords":["google oauth","sso"],"description":null,"href":"/home/account/oauth-google"},{"title":"GitHub OAuth","og:description":"This topic explains how to configure GitHub OAuth for LaunchDarkly.","keywords":["github oauth","sso"],"description":null,"href":"/home/account/oauth-github"}]},{"group":"API access tokens","root":{"title":"API access tokens","og:description":"This topic explains how to use API access tokens to authenticate with the LaunchDarkly REST API.","keywords":["api","api key","token","access"],"description":null,"href":"/home/account/api"},"pages":[{"title":"Creating API access tokens","og:description":"This topic explains how to create API access tokens. These are required to authenticate with the LaunchDarkly REST API and are one of the options to authenticate with the LaunchDarkly CLI.","keywords":["api","api key","token","access","cli","ldcli"],"description":null,"href":"/home/account/api-create"},{"title":"Cloning and deleting API access tokens","og:description":"This topic explains how to clone and delete API access tokens.","keywords":["api","api key","token","access"],"description":null,"href":"/home/account/api-clone-delete"},{"title":"API access token expiration dates","og:description":"This topic explains how to add expiration dates to API access tokens. You may need to set expiration dates for access tokens if your organization's security policies require that you regularly rotate API access tokens, or if you have personnel changes in your organization.","keywords":["api","api key","reset","rotate","token","access"],"description":null,"href":"/home/account/api-reset"}]},{"title":"Multi-factor authentication","og:description":"This topic explains how to set up and use multi-factor authentication to improve the security of your LaunchDarkly account.","keywords":["mfa","security","admin"],"description":null,"href":"/home/account/mfa"},{"title":"Domain verification","og:description":"This topic explains how to verify your domain with LaunchDarkly. This allows members of your organization to access supporting services if your account uses single sign-on (SSO).","keywords":["domain verification","security","access","support","zendesk"],"description":null,"href":"/home/account/domain-verification"},{"title":"IP allowlist","og:description":"This topic explains how to create and maintain an IP address allowlist to help manage access to the LaunchDarkly app and the REST API.","keywords":["domain verification","security","access","support","zendesk"],"description":null,"href":"/home/account/ip-allowlist"},{"title":"Managing sessions","og:description":"This topic explains how session duration settings work in LaunchDarkly, and how to configure them. LaunchDarkly offers administrators a set of controls to manage how long account members stay logged in to their account, and how often they need to re-authenticate. You can also reset sessions for everyone in your organization.","keywords":["session","admin","security"],"description":null,"href":"/home/account/sessions"},{"title":"Organization access settings","og:description":"This topic explains how to enable and disable organization access settings in LaunchDarkly.","keywords":["security","access","discover","join"],"description":null,"href":"/home/account/org-settings"},{"title":"Organization announcements","og:description":"This topic explains how to enable a custom announcement banner that appears in LaunchDarkly for everyone in your organization.","keywords":["organization","announcement","banner"],"description":null,"href":"/home/account/org-announcements"},{"title":"Support options","og:description":"This topic explains LaunchDarkly's Support options, including how to use enhanced support, and how to allow LaunchDarkly to use generative AI for Support tickets.","keywords":["support","security"],"description":null,"href":"/home/account/enhanced-support"},{"title":"Resetting your password","og:description":"This topic explains how to reset your LaunchDarkly password, and what to do if you do not receive a reset email.","keywords":["reset","password","security","sso"],"description":null,"href":"/home/account/reset-password"}]},{"title":"Feature previews","og:description":"This topic explains how to use feature previews in LaunchDarkly to access upcoming features before general availability.","icon":"eye","keywords":["feature preview","early access","preview","beta"],"description":null,"href":"/home/account/feature-previews"},{"group":"Billing and usage","icon":"credit-card","root":{"title":"Billing and usage","og:description":"This category has documentation topics about how to find your billing plan details and how to visualize your LaunchDarkly usage.","icon":"credit-card","description":null,"href":"/home/account/billing"},"pages":[{"title":"Account usage metrics","og:description":"This topic explains how to understand the metrics visualized on the plan usage and diagnostic usage pages, and how your usage relates to the LaunchDarkly plan you subscribe to.","keywords":["mau","primary context kind","foundation","service connection","experimentation keys","billing","mci","cmci","client-side"],"description":null,"href":"/home/account/metrics"},{"title":"The Billing page","og:description":"This topic explains the information on the Billing page and how to make changes to the LaunchDarkly plan you subscribe to.","keywords":["mau","primary context kind","cmi","cmci","cancel","enterprise","foundation"],"description":null,"href":"/home/account/billing-page"},{"title":"Calculating billing","og:description":"This topic explains how LaunchDarkly calculates billing for your account.","keywords":["primary context kind","foundation","service connection","experimentation keys","billing","mci","cmci","mau"],"description":null,"href":"/home/account/calculating-billing"},{"title":"LaunchDarkly subscriptions and plans","og:description":"This topic explains LaunchDarkly plans and summarizes the features available on each plan.","keywords":["plan","developer","foundation","enterprise"],"description":null,"href":"/home/account/plans"},{"title":"Service connections","og:description":"This topic explains what service connections are and how LaunchDarkly uses them to calculate your bill.","keywords":["service connections","billing","mci","cmci","mau"],"description":null,"href":"/home/account/service-connections"}]},{"group":"Changelog","icon":"timeline","root":{"title":"Changelog","og:description":"This topic summarizes recent changes to the LaunchDarkly documentation.","icon":"timeline","description":null,"href":"/home/changelog"},"pages":[{"title":"Changelog archive","og:description":"This topic summarizes older changes to the LaunchDarkly documentation.","description":null,"href":"/home/changelog/archive"}]}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdk"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"API docs","pages":[{"title":"API docs","href":"/api/overview"}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/tutorials"}]},{"tab":"Flagship blog","pages":[{"title":"Flagship blog","href":"/blog"}]}]},"maps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"children":"$L49"}]
4a:I[763509,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ThemeLayout"]
4b:I[91557,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"ApiReferenceProvider"]
4c:I[114793,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"PageProvider"]
4d:I[91557,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"OpenApiProvider"]
4e:I[525343,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"TabSyncContextProvider"]
4f:T7a5,{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://launchdarkly.com/#organization","name":"LaunchDarkly","url":"https://launchdarkly.com","logo":{"@type":"ImageObject","url":"https://mintcdn.com/launchdarkly/ppwc2LYsjE8wwIC_/images/logo/logo-light.svg?fit=max&auto=format&n=ppwc2LYsjE8wwIC_&q=85&s=f4dbea60f22010ab8a14e328c1759864"}},{"@type":"WebSite","@id":"https://launchdarkly.com/docs#website","name":"LaunchDarkly","url":"https://launchdarkly.com/docs","publisher":{"@id":"https://launchdarkly.com/#organization"}},{"@type":"WebPage","@id":"https://launchdarkly.com/docs/home/agentcontrol/quickstart#webpage","url":"https://launchdarkly.com/docs/home/agentcontrol/quickstart","name":"Quickstart for AgentControl","dateModified":"2026-10-09T23:43:29.034Z","isPartOf":{"@id":"https://launchdarkly.com/docs#website"},"breadcrumb":{"@id":"https://launchdarkly.com/docs/home/agentcontrol/quickstart#breadcrumb"}},{"@type":"BreadcrumbList","@id":"https://launchdarkly.com/docs/home/agentcontrol/quickstart#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"AgentControl","item":"https://launchdarkly.com/docs/"},{"@type":"ListItem","position":2,"name":"AgentControl","item":"https://launchdarkly.com/docs/home/agentcontrol"},{"@type":"ListItem","position":3,"name":"Quickstart for AgentControl","item":"https://launchdarkly.com/docs/home/agentcontrol/quickstart"}]},{"@type":["Article","TechArticle"],"@id":"https://launchdarkly.com/docs/home/agentcontrol/quickstart#article","headline":"Quickstart for AgentControl","name":"Quickstart for AgentControl","url":"https://launchdarkly.com/docs/home/agentcontrol/quickstart","mainEntityOfPage":{"@id":"https://launchdarkly.com/docs/home/agentcontrol/quickstart#webpage"},"dateModified":"2026-10-09T23:43:29.034Z","keywords":"ai, agents","publisher":{"@id":"https://launchdarkly.com/#organization"},"isPartOf":{"@id":"https://launchdarkly.com/docs#website"}}]}49:["$","$L4a",null,{"theme":"aspen","pageMetadata":{"title":"Quickstart for AgentControl","og:description":"This topic explains how to get started with LaunchDarkly AgentControl to manage, deploy, and update agent configurations without redeploying your application.","keywords":["ai","agents"],"description":null,"href":"/home/agentcontrol/quickstart"},"children":["$","$L4b",null,{"value":{"apiReferenceData":{},"graphqlReferenceData":"$undefined"},"children":["$","$L4c",null,{"value":{"pageMetadata":"$49:props:pageMetadata","lastModified":"2026-10-09T23:43:29.034Z","gitLastModified":"$undefined","originalFileLocation":"home/agentcontrol/quickstart.mdx","description":null,"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Complete the in-app quickstart","slug":"complete-the-in-app-quickstart","depth":2,"children":[]},{"title":"Step 1: Install the SDK","slug":"step-1-install-the-sdk","depth":2,"children":[{"title":"Installing manually","slug":"installing-manually","depth":3,"children":[]}]},{"title":"Step 2: Initialize the client","slug":"step-2-initialize-the-client","depth":2,"children":[]},{"title":"Step 3: Create an agent-based config in LaunchDarkly","slug":"step-3-create-an-agent-based-config-in-launchdarkly","depth":2,"children":[]},{"title":"Step 4: Set up targeting","slug":"step-4-set-up-targeting","depth":2,"children":[]},{"title":"Step 5: Use the agent-based config with your agent framework","slug":"step-5-use-the-agent-based-config-with-your-agent-framework","depth":2,"children":[]},{"title":"Step 6: Make a change without redeploying","slug":"step-6-make-a-change-without-redeploying","depth":2,"children":[]},{"title":"Step 7: Monitor the agent-based config","slug":"step-7-monitor-the-agent-based-config","depth":2,"children":[]},{"title":"Summary","slug":"summary","depth":2,"children":[]},{"title":"Example code","slug":"example-code","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]},{"title":"Learn more about AgentControl","slug":"learn-more-about-agentcontrol","depth":2,"children":[{"title":"Integration with AI providers","slug":"integration-with-ai-providers","depth":3,"children":[]},{"title":"Privacy and personally identifiable information (PII)","slug":"privacy-and-personally-identifiable-information-pii","depth":3,"children":[]}]}],"multiViewItems":[{"title":"Developer","content":"","id":"developer","active":true},{"title":"Federal docs","content":"","id":"federal-docs","active":false},{"title":"EU docs","content":"","id":"eu-docs","active":false}],"codeExamples":{}},"pageType":"$undefined","panelMdxSource":"$undefined","panelMdxSourceWithNoJs":"$undefined","contextualStarterQuestions":[{"_id":"6ac97c700ecaae6c3fad4b5b","deploymentId":"6a21d43f4a432b475a5f38ac","questionText":"How do I create my first agent config?","status":"active","generatedBy":"contextual","path":"home/agentcontrol/quickstart","createdAt":"2026-10-09T23:44:48.953Z","updatedAt":"2026-10-09T23:44:48.953Z","__v":0},{"_id":"6ac97c700ecaae6c3fad4b5a","deploymentId":"6a21d43f4a432b475a5f38ac","questionText":"What is AgentControl?","status":"active","generatedBy":"contextual","path":"home/agentcontrol/quickstart","createdAt":"2026-10-09T23:44:48.953Z","updatedAt":"2026-10-09T23:44:48.953Z","__v":0}],"relatedPages":"$undefined","relatedPagesConfig":"$undefined","narration":"$undefined"},"children":["$","$L4d",null,{"pageMetadata":"$49:props:pageMetadata","mdxExtracts":"$49:props:children:props:children:props:value:mdxExtracts","openApiReferenceData":"$undefined","children":["$","$L4e",null,{"children":[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"$4f"}}],"$L50","$L51","$L52","$L53","$L54"]}]}]}]}]}]
55:I[228341,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"PageModeUpdater"]
56:I[575126,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"Background"]
58:I[36098,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"CustomJsFiles"]
5b:I[530359,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"MDXContentController"]
5c:I[448287,["/docs/_next/static/chunks/0ea0e179f06dc225.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/343f3c7f568a2e5d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e1183f8000d79566.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/ccee8d9b3189ccd9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0963882fe4bf3b50.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8a19ec8c194a3b47.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d6a774160f99cc71.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8d0901e40ed4b058.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/2d1c4482dd93de98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3f8f2653ff1ad14e.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/3788d0413d447c7b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/038935af0bc6ba8a.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/75e727c985b9e4db.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/0a0a0ce2e4938fc9.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/8580190afe0e7452.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/a344c3701d853a98.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/12c0103b562ad56d.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/57fafae36dfe4636.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/c1db9c7bd6d8d200.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/f83ece82ae14dd84.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/d926b7bfcc39c019.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/e452a5c043e34035.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/fde44643dbef1bcd.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/057c79b702cabd26.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/6cadf48bb7ae1a16.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym","/docs/_next/static/chunks/1a0bf1d33a977db0.js?dpl=dpl_FHTuezYwhxFJmZtMvTojAU2mWDym"],"default"]
50:[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"document.documentElement.setAttribute('data-page-mode', \"none\");"}}],["$","$L55",null,{"pageMetadata":"$49:props:pageMetadata"}]]
51:["$","$L56",null,{"pageMetadata":"$49:props:pageMetadata"}]
57:T1b3c,@import url("https://fonts.googleapis.com/css2?family=Sora:wght@400&display=swap");

h1 {
  font-family: Sora, sans-serif !important;
}

.authorWrapper {
  display: flex;
  align-items: center;
  /* HACK HACK HACK */
  margin-bottom: -3em;
  margin-top: -1em;
}

.authorName {
  font-size: 18px;
  font-family: Audimat;
  margin-left: 5px;
}

.authorAvatar {
  height: 2em;
  width: 2em;
  border-radius: 50%;
}

.publishedDate {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

h4 {
  line-height: 1.5rem;
}

td,
th {
  vertical-align: top;
}

/* Browsers center th by default; no !important so a Markdown column alignment still wins */
th {
  text-align: left;
}

/* Tables must fit the available width instead of scrolling horizontally */
table {
  /* theme sets display:block; overflow:auto on .prose table, which makes it a scroll container */
  display: table !important;
  overflow: visible !important;
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

td,
th {
  min-width: 0;
  overflow-wrap: break-word;
}

td code,
th code {
  overflow-wrap: normal !important;
  hyphens: none !important;
}

#footer:before {
  content: "© 2025 Catamorphic Co.";
  color: #737373;
  background: transparent;
  display: inline-block;
  width: 100%;
  text-align: start;
  margin-bottom: 17px;
  font-size: 13px;
}

/* Inner page helpers */
.number-monospace {
  width: 24px;
  display: inline-block;
}
.text-indent {
  padding-left: 28px;
}

.homepage_img_card img {
  max-width: 200px;
}

.add-resource-section .card img {
  max-width: 100px;
  margin: 20px auto 0;
}

.mdx-content .link:not(.homepage_links a):not(.download_btn),
.mdx-content .link:not(.homepage_links a):not(.download_btn) strong,
.dark .mdx-content .link:not(.homepage_links a):not(.download_btn) code {
  color: rgb(var(--primary));
}

.dark .mdx-content .link:not(.homepage_links a):not(.download_btn),
.dark .mdx-content .link:not(.homepage_links a):not(.download_btn) strong,
.dark .mdx-content .link:not(.homepage_links a):not(.download_btn) code {
  color: rgb(var(--primary-light));
}

/* Inline code padding reads as extra space around the word when the code is link text */
.mdx-content a.link > code {
  padding-inline: 0;
}

.dark .homepage_links a {
  border-bottom-color: #000;
}

.homepage_cards div.size-6 {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.homepage_cards div.size-6 svg {
  width: 18px;
  height: 18px;
}

.homepage_cards .card1 div.size-6 {
  background-color: #cffc55;
}

.homepage_cards .card2 div.size-6 {
  background-color: #c084fc;
}

.homepage_cards .card3 div.size-6 {
  background-color: #38bdf8;
}

.sdk_grid .card > div {
  padding: 10px 24px;
}

.sdk_grid img,
.sdk_grid div.size-6 {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain;
}

.blog_cards .card > div.flex {
  align-items: start;
}

.view_callout span {
  font-size: 14px;
}

/* Homepage hero headline. Mintlify sizes every page title with the same utilities
   (text-2xl sm:text-3xl), which reads as a section heading rather than a hero.
   52px/1.1 matches .docs-home .heading-container h1 on the Fern homepage. Scoped
   through #body-content.homepage-bg, the class Home.jsx adds, so only the homepage
   title grows; the ID+class+ID specificity is what beats the Tailwind utilities. */
#body-content.homepage-bg #page-title {
  font-size: 36px;
  line-height: 1.1;
}

@media (min-width: 640px) {
  #body-content.homepage-bg #page-title {
    font-size: 52px;
  }
}

#body-content.homepage-bg {
  position: relative;
}

#body-content.homepage-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: -300px;
  width: 480px;
  height: 480px;
  background-color: #cffc55;
  /* Inlined rather than url("/images/homepage/lightning-bolt.svg"): Mintlify does not
     prefix CSS url()s with the site's base path, so a root path 404s under /docs
     (launchdarkly.com/docs, launchdarkly.mintlify.site/docs). Source:
     images/homepage/lightning-bolt.svg. A mask only reads alpha, so fill is irrelevant. */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560.317 560.316'%3E%3Cpath d='M207.523,560.316c0,0,194.42-421.925,194.444-421.986l10.79-23.997c-41.824,12.02-135.271,34.902-135.57,35.833 C286.96,122.816,329.017,0,330.829,0c-39.976,0-79.952,0-119.927,0l-12.167,57.938l-51.176,209.995l135.191-36.806 L207.523,560.316z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560.317 560.316'%3E%3Cpath d='M207.523,560.316c0,0,194.42-421.925,194.444-421.986l10.79-23.997c-41.824,12.02-135.271,34.902-135.57,35.833 C286.96,122.816,329.017,0,330.829,0c-39.976,0-79.952,0-119.927,0l-12.167,57.938l-51.176,209.995l135.191-36.806 L207.523,560.316z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: top right;
  mask-position: top right;
  -webkit-mask-size: contain;
  mask-size: contain;
  pointer-events: none;
  z-index: -1;
}

.dark #body-content.homepage-bg::before {
  background-color: rgb(207 252 85 / 25%);
}

@media (max-width: 1840px) {
  #body-content.homepage-bg::before {
    right: -200px;
  }
}

@media (max-width: 1590px) {
  #body-content.homepage-bg::before {
    right: -100px;
  }
}

@media (max-width: 1280px) {
  #body-content.homepage-bg::before {
    width: 380px;
    height: 380px;
  }
}

@media (max-width: 1024px) {
  #body-content.homepage-bg::before {
    right: -80px;
    top: 110px;
  }
}

@media (max-width: 768px) {
  #body-content.homepage-bg::before {
    right: -20px;
    width: 260px;
    height: 260px;
  }
}

@media (max-width: 480px) {
  #body-content.homepage-bg::before {
    right: 0;
    width: 200px;
    height: 200px;
  }
}

/* Remove the radial primary-color glow the Aspen "grid" background decoration paints behind the top of the page */
#background-color ~ span[style*="radial-gradient"] {
  background: none !important;
}

/* Navbar "Try it free" CTA: Mintlify labels it with Tailwind's text-white and
   paints the pill with bg-primary-dark, so the label sits white-on-light-green
   (#90C610) at roughly 2:1 contrast and reads differently from "Sign in" beside
   it. Deliberately NOT scoped to .dark: the markup carries no dark: variant, so
   the label is white in light mode too and the same fix applies to both.
   Targets the element rather than .text-white because the chevron's utility is
   text-white/90, a different class token. */
#topbar-cta-button span,
#topbar-cta-button svg {
  color: #000;
}

/* Tightens gaps in the middle of a list when using <FlagGate> or <View> */
.mdx-content ul:has(+ ul),
.mdx-content ul:has(+ .multi-view-item > ul:first-child) {
  margin-bottom: 8px;
}

.mdx-content ul + ul,
.mdx-content ul + .multi-view-item:has(> ul:first-child) {
  margin-top: 8px;
}
52:[["$","style","0",{"data-custom-css-index":0,"data-custom-css-path":"css/styles.css","dangerouslySetInnerHTML":{"__html":"$57"}}]]
59:Td19f,!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).LDClient={})}(this,function(e){"use strict";function t(e){function t(e,t){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.message=e,this.code=t}return t.prototype=new Error,t.prototype.name=e,t.prototype.constructor=t,t}const n=t("LaunchDarklyUnexpectedResponseError"),r=t("LaunchDarklyInvalidEnvironmentIdError"),o=t("LaunchDarklyInvalidUserError"),i=t("LaunchDarklyInvalidEventKeyError"),a=t("LaunchDarklyInvalidArgumentError"),s=t("LaunchDarklyFlagFetchError");for(var c={LDUnexpectedResponseError:n,LDInvalidEnvironmentIdError:r,LDInvalidUserError:o,LDInvalidEventKeyError:i,LDInvalidArgumentError:a,LDInvalidDataError:t("LaunchDarklyInvalidDataError"),LDFlagFetchError:s,LDTimeoutError:t("LaunchDarklyTimeoutError"),isHttpErrorRecoverable:function(e){return!(e>=400&&e<500)||(400===e||408===e||429===e)}},u=function(e){var t=h(e),n=t[0],r=t[1];return 3*(n+r)/4-r},l=function(e){var t,n,r=h(e),o=r[0],i=r[1],a=new v(function(e,t,n){return 3*(t+n)/4-n}(0,o,i)),s=0,c=i>0?o-4:o;for(n=0;n<c;n+=4)t=g[e.charCodeAt(n)]<<18|g[e.charCodeAt(n+1)]<<12|g[e.charCodeAt(n+2)]<<6|g[e.charCodeAt(n+3)],a[s++]=t>>16&255,a[s++]=t>>8&255,a[s++]=255&t;2===i&&(t=g[e.charCodeAt(n)]<<2|g[e.charCodeAt(n+1)]>>4,a[s++]=255&t);1===i&&(t=g[e.charCodeAt(n)]<<10|g[e.charCodeAt(n+1)]<<4|g[e.charCodeAt(n+2)]>>2,a[s++]=t>>8&255,a[s++]=255&t);return a},d=function(e){for(var t,n=e.length,r=n%3,o=[],i=16383,a=0,s=n-r;a<s;a+=i)o.push(w(e,a,a+i>s?s:a+i));1===r?(t=e[n-1],o.push(f[t>>2]+f[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(f[t>>10]+f[t>>4&63]+f[t<<2&63]+"="));return o.join("")},f=[],g=[],v="undefined"!=typeof Uint8Array?Uint8Array:Array,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m=0;m<64;++m)f[m]=p[m],g[p.charCodeAt(m)]=m;function h(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function y(e){return f[e>>18&63]+f[e>>12&63]+f[e>>6&63]+f[63&e]}function w(e,t,n){for(var r,o=[],i=t;i<n;i+=3)r=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),o.push(y(r));return o.join("")}g["-".charCodeAt(0)]=62,g["_".charCodeAt(0)]=63;var k={byteLength:u,toByteArray:l,fromByteArray:d},b=Array.isArray,E=Object.keys,D=Object.prototype.hasOwnProperty,x=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var r,o,i,a=b(t),s=b(n);if(a&&s){if((o=t.length)!=n.length)return!1;for(r=o;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(a!=s)return!1;var c=t instanceof Date,u=n instanceof Date;if(c!=u)return!1;if(c&&u)return t.getTime()==n.getTime();var l=t instanceof RegExp,d=n instanceof RegExp;if(l!=d)return!1;if(l&&d)return t.toString()==n.toString();var f=E(t);if((o=f.length)!==E(n).length)return!1;for(r=o;0!==r--;)if(!D.call(n,f[r]))return!1;for(r=o;0!==r--;)if(!e(t[i=f[r]],n[i]))return!1;return!0}return t!=t&&n!=n};const O=["key","ip","country","email","firstName","lastName","avatar","name"];function P(e){const t=unescape(encodeURIComponent(e));return k.fromByteArray(function(e){const t=[];for(let n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t}(t))}function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var S={appendUrlPath:function(e,t){return(e.endsWith("/")?e.substring(0,e.length-1):e)+(t.startsWith("/")?"":"/")+t},base64URLEncode:function(e){return P(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},btoa:P,clone:function(e){return JSON.parse(JSON.stringify(e))},deepEquals:function(e,t){return x(e,t)},extend:function(...e){return e.reduce((e,t)=>({...e,...t}),{})},getLDUserAgentString:function(e){const t=e.version||"?";return e.userAgent+"/"+t},objectHasOwnProperty:C,onNextTick:function(e){setTimeout(e,0)},sanitizeContext:function(e){if(!e)return e;let t;return null!==e.kind&&void 0!==e.kind||O.forEach(n=>{const r=e[n];void 0!==r&&"string"!=typeof r&&(t=t||{...e},t[n]=String(r))}),t||e},transformValuesToVersionedValues:function(e){const t={};for(const n in e)C(e,n)&&(t[n]={value:e[n],version:0});return t},transformVersionedValuesToValues:function(e){const t={};for(const n in e)C(e,n)&&(t[n]=e[n].value);return t},wrapPromiseCallback:function(e,t){const n=e.then(e=>(t&&setTimeout(()=>{t(null,e)},0),e),e=>{if(!t)return Promise.reject(e);setTimeout(()=>{t(e,null)},0)});return t?void 0:n},once:function(e){let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}}};const I={start:0,end:3},T={start:4,end:5},F={start:6,end:7},L={start:8,end:8},j={start:9,end:9},U={start:10,end:15};function R(e,t){let n="";for(let r=t.start;r<=t.end;r+=1)n+=e[r].toString(16).padStart(2,"0");return n}function A(e){return e[L.start]=191&e[L.start]|128,e[F.start]=15&e[F.start]|64,`${R(e,I)}-${R(e,T)}-${R(e,F)}-${R(e,L)}${R(e,j)}-${R(e,U)}`}function N(){const e=function(){if("undefined"!=typeof crypto&&crypto.getRandomValues){const e=new Uint8Array(16);return crypto.getRandomValues(e),[...e.values()]}const e=[];for(let t=0;t<16;t+=1)e.push(Math.floor(256*Math.random()));return e}();return A(e)}var $={randomUuidV4:function(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():N()},fallbackUuidV4:N,formatDataAsUuidV4:A};const V=["debug","info","warn","error","none"];var H={commonBasicLogger:function(e,t){if(e&&e.destination&&"function"!=typeof e.destination)throw new Error("destination for basicLogger was set to a non-function");function n(e){return function(t){console&&console[e]&&console[e].call(console,t)}}const r=e&&e.destination?[e.destination,e.destination,e.destination,e.destination]:[n("log"),n("info"),n("warn"),n("error")],o=!(!e||!e.destination),i=e&&void 0!==e.prefix&&null!==e.prefix?e.prefix:"[LaunchDarkly] ";let a=1;if(e&&e.level)for(let t=0;t<V.length;t++)V[t]===e.level&&(a=t);function s(e,n,a){if(a.length<1)return;let s;const c=o?n+": "+i:i;if(1!==a.length&&t){const e=[...a];e[0]=c+e[0],s=t(...e)}else s=c+a[0];try{r[e](s)}catch(e){console&&console.log&&console.log("[LaunchDarkly] Configured logger's "+n+" method threw an exception: "+e)}}const c={};for(let e=0;e<V.length;e++){const t=V[e];if("none"!==t)if(e<a)c[t]=()=>{};else{const n=e;c[t]=function(){s(n,t,arguments)}}}return c},validateLogger:function(e){V.forEach(t=>{if("none"!==t&&(!e[t]||"function"!=typeof e[t]))throw new Error("Provided logger instance must support logger."+t+"(...) method")})}};function M(e){return e&&e.message?e.message:"string"==typeof e||e instanceof String?e:JSON.stringify(e)}const q=" Please see https://docs.launchdarkly.com/sdk/client-side/javascript#initialize-the-client for instructions on SDK initialization.";var z={bootstrapInvalid:function(){return"LaunchDarkly bootstrap data is not available because the back end could not read the flags."},bootstrapOldFormat:function(){return"LaunchDarkly client was initialized with bootstrap data that did not include flag metadata. Events may not be sent correctly."+q},clientInitialized:function(){return"LaunchDarkly client initialized"},clientNotReady:function(){return"LaunchDarkly client is not ready"},debugEnqueueingEvent:function(e){return'enqueueing "'+e+'" event'},debugPostingDiagnosticEvent:function(e){return"sending diagnostic event ("+e.kind+")"},debugPostingEvents:function(e){return"sending "+e+" events"},debugStreamDelete:function(e){return'received streaming deletion for flag "'+e+'"'},debugStreamDeleteIgnored:function(e){return'received streaming deletion for flag "'+e+'" but ignored due to version check'},debugStreamPatch:function(e){return'received streaming update for flag "'+e+'"'},debugStreamPatchIgnored:function(e){return'received streaming update for flag "'+e+'" but ignored due to version check'},debugStreamPing:function(){return"received ping message from stream"},debugPolling:function(e){return"polling for feature flags at "+e},debugStreamPut:function(){return"received streaming update for all flags"},deprecated:function(e,t){return t?'"'+e+'" is deprecated, please use "'+t+'"':'"'+e+'" is deprecated'},environmentNotFound:function(){return"Environment not found. Double check that you specified a valid environment/client-side ID."+q},environmentNotSpecified:function(){return"No environment/client-side ID was specified."+q},errorFetchingFlags:function(e){return"Error fetching flag settings: "+M(e)},eventCapacityExceeded:function(){return"Exceeded event queue capacity. Increase capacity to avoid dropping events."},eventWithoutContext:function(){return"Be sure to call `identify` in the LaunchDarkly client: https://docs.launchdarkly.com/sdk/features/identify#javascript"},httpErrorMessage:function(e,t,n){return"Received error "+e+(401===e?" (invalid SDK key)":"")+" for "+t+" - "+(c.isHttpErrorRecoverable(e)?n:"giving up permanently")},httpUnavailable:function(){return"Cannot make HTTP requests in this environment."+q},identifyDisabled:function(){return"identify() has no effect here; it must be called on the main client instance"},inspectorMethodError:(e,t)=>`an inspector: "${t}" of type: "${e}" generated an exception`,invalidContentType:function(e){return'Expected application/json content type but got "'+e+'"'},invalidData:function(){return"Invalid data received from LaunchDarkly; connection may have been interrupted"},invalidInspector:(e,t)=>`an inspector: "${t}" of an invalid type (${e}) was configured`,invalidKey:function(){return"Event key must be a string"},invalidMetricValue:e=>`The track function was called with a non-numeric "metricValue" (${e}), only numeric metric values are supported.`,invalidContext:function(){return"Invalid context specified."+q},invalidTagValue:e=>`Config option "${e}" must only contain letters, numbers, ., _ or -.`,localStorageUnavailable:function(e){return"local storage is unavailable: "+M(e)},networkError:e=>"network error"+(e?" ("+e+")":""),optionBelowMinimum:(e,t,n)=>'Config option "'+e+'" was set to '+t+", changing to minimum value of "+n,streamClosing:function(){return"Closing stream connection"},streamConnecting:function(e){return"Opening stream connection to "+e},streamError:function(e,t){return"Error on stream connection: "+M(e)+", will continue retrying after "+t+" milliseconds."},tagValueTooLong:e=>`Value of "${e}" was longer than 64 characters and was discarded.`,unknownCustomEventKey:function(e){return'Custom event "'+e+'" does not exist'},unknownOption:e=>'Ignoring unknown config option "'+e+'"',contextNotSpecified:function(){return"No context specified."+q},unrecoverableStreamError:e=>`Error on stream connection ${M(e)}, giving up permanently`,wrongOptionType:(e,t,n)=>'Config option "'+e+'" should be of type '+t+", got "+n+", using default value",wrongOptionTypeBoolean:(e,t)=>'Config option "'+e+'" should be a boolean, got '+t+", converting to boolean"};const{validateLogger:K}=H,J={baseUrl:{default:"https://app.launchdarkly.com"},streamUrl:{default:"https://clientstream.launchdarkly.com"},eventsUrl:{default:"https://events.launchdarkly.com"},sendEvents:{default:!0},streaming:{type:"boolean"},sendLDHeaders:{default:!0},requestHeaderTransform:{type:"function"},sendEventsOnlyForVariation:{default:!1},useReport:{default:!1},evaluationReasons:{default:!1},eventCapacity:{default:100,minimum:1},flushInterval:{default:2e3,minimum:2e3},samplingInterval:{default:0,minimum:0},streamReconnectDelay:{default:1e3,minimum:0},allAttributesPrivate:{default:!1},privateAttributes:{default:[]},bootstrap:{type:"string|object"},diagnosticRecordingInterval:{default:9e5,minimum:2e3},diagnosticOptOut:{default:!1},wrapperName:{type:"string"},wrapperVersion:{type:"string"},stateProvider:{type:"object"},application:{validator:function(e,t,n){const r={};t.id&&(r.id=W(`${e}.id`,t.id,n));t.version&&(r.version=W(`${e}.version`,t.version,n));return r}},inspectors:{default:[]},hooks:{default:[]},plugins:{default:[]}},_=/^(\w|\.|-)+$/;function B(e){return e&&e.replace(/\/+$/,"")}function W(e,t,n){if("string"==typeof t&&t.match(_)){if(!(t.length>64))return t;n.warn(z.tagValueTooLong(e))}else n.warn(z.invalidTagValue(e))}var G={baseOptionDefs:J,validate:function(e,t,n,r){const o=S.extend({logger:{default:r}},J,n),i={};function a(e){S.onNextTick(()=>{t&&t.maybeReportError(new c.LDInvalidArgumentError(e))})}let s=S.extend({},e||{});return function(e){const t=e;Object.keys(i).forEach(e=>{if(void 0!==t[e]){const n=i[e];r&&r.warn(z.deprecated(e,n)),n&&(void 0===t[n]&&(t[n]=t[e]),delete t[e])}})}(s),s=function(e){const t=S.extend({},e);return Object.keys(o).forEach(e=>{void 0!==t[e]&&null!==t[e]||(t[e]=o[e]&&o[e].default)}),t}(s),s=function(e){const t=S.extend({},e),n=e=>{if(null===e)return"any";if(void 0===e)return;if(Array.isArray(e))return"array";const t=typeof e;return"boolean"===t||"string"===t||"number"===t||"function"===t?t:"object"};return Object.keys(e).forEach(i=>{const s=e[i];if(null!=s){const c=o[i];if(void 0===c)a(z.unknownOption(i));else{const o=c.type||n(c.default),u=c.validator;if(u){const n=u(i,e[i],r);void 0!==n?t[i]=n:delete t[i]}else if("any"!==o){const e=o.split("|"),r=n(s);e.indexOf(r)<0?"boolean"===o?(t[i]=!!s,a(z.wrongOptionTypeBoolean(i,r))):(a(z.wrongOptionType(i,o,r)),t[i]=c.default):"number"===r&&void 0!==c.minimum&&s<c.minimum&&(a(z.optionBelowMinimum(i,s,c.minimum)),t[i]=c.minimum)}}}}),t.baseUrl=B(t.baseUrl),t.streamUrl=B(t.streamUrl),t.eventsUrl=B(t.eventsUrl),t}(s),K(s.logger),s},getTags:function(e){const t={};return e&&(e.application&&void 0!==e.application.id&&null!==e.application.id&&(t["application-id"]=[e.application.id]),e.application&&void 0!==e.application.version&&null!==e.application.id&&(t["application-version"]=[e.application.version])),t}};const{getLDUserAgentString:X}=S;var Q={getLDHeaders:function(e,t){if(t&&!t.sendLDHeaders)return{};const n={};n[e.userAgentHeaderName||"User-Agent"]=X(e),t&&t.wrapperName&&(n["X-LaunchDarkly-Wrapper"]=t.wrapperVersion?t.wrapperName+"/"+t.wrapperVersion:t.wrapperName);const r=G.getTags(t),o=Object.keys(r);return o.length&&(n["x-launchdarkly-tags"]=o.sort().map(e=>Array.isArray(r[e])?r[e].sort().map(t=>`${e}/${t}`):[`${e}/${r[e]}`]).reduce((e,t)=>e.concat(t),[]).join(" ")),n},transformHeaders:function(e,t){return t&&t.requestHeaderTransform?t.requestHeaderTransform({...e}):e}};const{randomUuidV4:Y}=$,{getLDHeaders:Z,transformHeaders:ee}=Q;var te=function(e,t,n){const r=S.extend({"Content-Type":"application/json"},Z(e,n)),o={};return o.sendEvents=(t,o,i)=>{if(!e.httpRequest)return Promise.resolve();const a=JSON.stringify(t),s=i?null:Y();return function t(u){const l=i?r:S.extend({},r,{"X-LaunchDarkly-Event-Schema":"4","X-LaunchDarkly-Payload-ID":s});return e.httpRequest("POST",o,ee(l,n),a).promise.then(e=>{if(e)return e.status>=400&&c.isHttpErrorRecoverable(e.status)&&u?t(!1):function(e){const t={status:e.status},n=e.header("date");if(n){const e=Date.parse(n);e&&(t.serverTime=e)}return t}(e)}).catch(()=>u?t(!1):Promise.reject())}(!0).catch(()=>{})},o};var ne=function e(t,n=[]){if(null===t||"object"!=typeof t)return JSON.stringify(t);if(n.includes(t))throw new Error("Cycle detected");if(Array.isArray(t)){return`[${t.map(r=>e(r,[...n,t])).map(e=>void 0===e?"null":e).join(",")}]`}return`{${Object.keys(t).sort().map(r=>{const o=e(t[r],[...n,t]);if(void 0!==o)return`${JSON.stringify(r)}:${o}`}).filter(e=>void 0!==e).join(",")}}`};const{commonBasicLogger:re}=H;function oe(e){return"string"==typeof e&&"kind"!==e&&e.match(/^(\w|\.|-)+$/)}function ie(e){return e.includes("%")||e.includes(":")?e.replace(/%/g,"%25").replace(/:/g,"%3A"):e}var ae={checkContext:function(e,t){if(e){if(t&&(void 0===e.kind||null===e.kind))return void 0!==e.key&&null!==e.key;const n=e.key,r=void 0===e.kind?"user":e.kind,o=oe(r),i="multi"===r||null!=n&&""!==n;if("multi"===r){const t=Object.keys(e).filter(e=>"kind"!==e);return i&&t.every(e=>oe(e))&&t.every(t=>{const n=e[t].key;return null!=n&&""!==n})}return i&&o}return!1},getContextKeys:function(e,t=re()){if(!e)return;const n={},{kind:r,key:o}=e;switch(r){case void 0:n.user=`${o}`;break;case"multi":Object.entries(e).filter(([e])=>"kind"!==e).forEach(([e,t])=>{t&&t.key&&(n[e]=t.key)});break;case null:t.warn(`null is not a valid context kind: ${e}`);break;case"":t.warn(`'' is not a valid context kind: ${e}`);break;default:n[r]=`${o}`}return n},getContextKinds:function(e){return e?null===e.kind||void 0===e.kind?["user"]:"multi"!==e.kind?[e.kind]:Object.keys(e).filter(e=>"kind"!==e):[]},getCanonicalKey:function(e){if(e){if((void 0===e.kind||null===e.kind||"user"===e.kind)&&e.key)return e.key;if("multi"!==e.kind&&e.key)return`${e.kind}:${ie(e.key)}`;if("multi"===e.kind)return Object.keys(e).sort().filter(e=>"kind"!==e).map(t=>`${t}:${ie(e[t].key)}`).join(":")}}};const{getContextKinds:se}=ae;var ce=function(){const e={};let t=0,n=0,r={},o={};return e.summarizeEvent=e=>{if("feature"===e.kind){const i=e.key+":"+(null!==e.variation&&void 0!==e.variation?e.variation:"")+":"+(null!==e.version&&void 0!==e.version?e.version:""),a=r[i];let s=o[e.key];s||(s=new Set,o[e.key]=s),function(e){return e.context?se(e.context):e.contextKeys?Object.keys(e.contextKeys):[]}(e).forEach(e=>s.add(e)),a?a.count=a.count+1:r[i]={count:1,key:e.key,version:e.version,variation:e.variation,value:e.value,default:e.default},(0===t||e.creationDate<t)&&(t=e.creationDate),e.creationDate>n&&(n=e.creationDate)}},e.getSummary=()=>{const e={};let i=!0;for(const t of Object.values(r)){let n=e[t.key];n||(n={default:t.default,counters:[],contextKinds:[...o[t.key]]},e[t.key]=n);const r={value:t.value,count:t.count};void 0!==t.variation&&null!==t.variation&&(r.variation=t.variation),void 0!==t.version&&null!==t.version?r.version=t.version:r.unknown=!0,n.counters.push(r),i=!1}return i?null:{startDate:t,endDate:n,features:e,kind:"summary"}},e.clearSummary=()=>{t=0,n=0,r={},o={}},e};var ue=function(e){let t={},n={};return{summarizeEvent:function(e){if("feature"===e.kind){const r=ne(e.context);if(!r)return;let o=t[r];o||(t[r]=ce(),o=t[r],n[r]=e.context),o.summarizeEvent(e)}},getSummaries:function(){const r=t,o=n;return t={},n={},Object.entries(r).map(([t,n])=>{const r=n.getSummary();return r.context=e.filter(o[t]),r})}}};function le(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function de(e){return(e.startsWith("/")?e.substring(1):e).split("/").map(e=>e.indexOf("~")>=0?e.replace(/~1/g,"/").replace(/~0/g,"~"):e)}function fe(e){return!e.startsWith("/")}function ge(e,t){const n=fe(e),r=fe(t);if(n&&r)return e===t;if(n){const n=de(t);return 1===n.length&&e===n[0]}if(r){const n=de(e);return 1===n.length&&t===n[0]}return e===t}function ve(e){return`/${le(e)}`}var pe={cloneExcluding:function(e,t){const n=[],r={},o=[];for(n.push(...Object.keys(e).map(t=>({key:t,ptr:ve(t),source:e,parent:r,visited:[e]})));n.length;){const e=n.pop();if(t.some(t=>ge(t,e.ptr)))o.push(e.ptr);else{const t=e.source[e.key];if(null===t)e.parent[e.key]=t;else if(Array.isArray(t))e.parent[e.key]=[...t];else if("object"==typeof t){if(e.visited.includes(t))continue;e.parent[e.key]={},n.push(...Object.keys(t).map(n=>{return{key:n,ptr:(r=e.ptr,o=le(n),`${r}/${o}`),source:t,parent:e.parent[e.key],visited:[...e.visited,t]};var r,o}))}else e.parent[e.key]=t}}return{cloned:r,excluded:o.sort()}},compare:ge,literalToReference:ve};var me=function(e){const t={},n=e.allAttributesPrivate,r=e.privateAttributes||[],o=["key","kind","_meta","anonymous"],i=["name","ip","firstName","lastName","email","avatar","country"],a=(e,t)=>{if("object"!=typeof e||null===e||Array.isArray(e))return;const{cloned:i,excluded:a}=pe.cloneExcluding(e,((e,t)=>(n||t&&e.anonymous?Object.keys(e).map(e=>e.startsWith("/")?pe.literalToReference(e):e):[...r,...e._meta&&e._meta.privateAttributes||[]]).filter(e=>!o.some(t=>pe.compare(e,t))))(e,t));return i.key=String(i.key),a.length&&(i._meta||(i._meta={}),i._meta.redactedAttributes=a),i._meta&&(delete i._meta.privateAttributes,0===Object.keys(i._meta).length&&delete i._meta),void 0!==i.anonymous&&(i.anonymous=!!i.anonymous),i};return t.filter=(e,t=!1)=>void 0===e.kind||null===e.kind?a((e=>{const t={...e.custom||{},kind:"user",key:e.key};void 0!==e.anonymous&&(t.anonymous=!!e.anonymous);for(const n of i)delete t[n],void 0!==e[n]&&null!==e[n]&&(t[n]=String(e[n]));return void 0!==e.privateAttributeNames&&null!==e.privateAttributeNames&&(t._meta=t._meta||{},t._meta.privateAttributes=e.privateAttributeNames.map(e=>e.startsWith("/")?pe.literalToReference(e):e)),t})(e),t):"multi"===e.kind?((e,t)=>{const n={kind:e.kind},r=Object.keys(e);for(const o of r)if("kind"!==o){const r=a(e[o],t);r&&(n[o]=r)}return n})(e,t):a(e,t),t};const{getContextKeys:he}=ae;var ye=function(e,t,n,r=null,o=null,i=null){const a={},s=i||te(e,n,t),u=S.appendUrlPath(t.eventsUrl,"/events/bulk/"+n),l=me(t),d=ue(l),f=t.samplingInterval,g=t.eventCapacity,v=t.flushInterval,p=t.logger;let m,h=[],y=0,w=!1,k=!1;function b(){return 0===f||0===Math.floor(Math.random()*f)}function E(e){const t=S.extend({},e);return"identify"===e.kind||"feature"===e.kind||"custom"===e.kind?t.context=l.filter(e.context):(t.contextKeys=he(e.context,p),delete t.context),"feature"===e.kind&&(delete t.trackEvents,delete t.debugEventsUntilDate),t}function D(e){h.length<g?(h.push(e),k=!1):(k||(k=!0,p.warn(z.eventCapacityExceeded())),r&&r.incrementDroppedEvents())}return a.enqueue=function(e){if(w)return;let t=!1,n=!1;var r;if(d.summarizeEvent(e),"feature"===e.kind?b()&&(t=!!e.trackEvents,n=!!(r=e).debugEventsUntilDate&&r.debugEventsUntilDate>y&&r.debugEventsUntilDate>(new Date).getTime()):t=b(),t&&D(E(e)),n){const t=S.extend({},e,{kind:"debug"});t.context=l.filter(t.context),delete t.trackEvents,delete t.debugEventsUntilDate,D(t)}},a.flush=async function(){if(w)return Promise.resolve();const e=h;return d.getSummaries().forEach(t=>{Object.keys(t.features).length&&e.push(t)}),r&&r.setEventsInLastBatch(e.length),0===e.length?Promise.resolve():(h=[],p.debug(z.debugPostingEvents(e.length)),s.sendEvents(e,u).then(e=>{e&&(e.serverTime&&(y=e.serverTime),c.isHttpErrorRecoverable(e.status)||(w=!0),e.status>=400&&S.onNextTick(()=>{o.maybeReportError(new c.LDUnexpectedResponseError(z.httpErrorMessage(e.status,"event posting","some events were dropped")))}))}))},a.start=function(){const e=()=>{a.flush(),m=setTimeout(e,v)};m=setTimeout(e,v)},a.stop=function(){clearTimeout(m)},a};var we=function(e){const t={},n={};return t.on=function(e,t,r){n[e]=n[e]||[],n[e]=n[e].concat({handler:t,context:r})},t.off=function(e,t,r){if(n[e])for(let o=0;o<n[e].length;o++)n[e][o].handler===t&&n[e][o].context===r&&(n[e]=n[e].slice(0,o).concat(n[e].slice(o+1)))},t.emit=function(e){if(!n[e])return;const t=n[e].slice(0);for(let e=0;e<t.length;e++)t[e].handler.apply(t[e].context,Array.prototype.slice.call(arguments,1))},t.getEvents=function(){return Object.keys(n)},t.getEventListenerCount=function(e){return n[e]?n[e].length:0},t.maybeReportError=function(t){t&&(n["error"]?this.emit("error",t):(e||console).error(t.message))},t};const ke="ready",be="initialized",Ee="failed";var De=function(e){let t=!1,n=!1,r=null,o=null;const i=new Promise(t=>{const n=()=>{e.off(ke,n),t()};e.on(ke,n)}).catch(()=>{});return{getInitializationPromise:()=>o||(t?Promise.resolve():n?Promise.reject(r):(o=new Promise((t,n)=>{const r=()=>{e.off(be,r),t()},o=t=>{e.off(Ee,o),n(t)};e.on(be,r),e.on(Ee,o)}),o)),getReadyPromise:()=>i,signalSuccess:()=>{t||n||(t=!0,e.emit(be),e.emit(ke))},signalFailure:o=>{t||n||(n=!0,r=o,e.emit(Ee,o),e.emit(ke)),e.maybeReportError(o)}}};var xe=function(e,t,n,r){const o={};function i(){let e="";const o=r.getContext();if(o){e=n()||S.btoa(JSON.stringify(o))}return"ld:"+t+":"+e}return o.loadFlags=()=>e.get(i()).then(e=>{if(null==e)return null;try{let t=JSON.parse(e);if(t){const e=t.$schema;void 0===e||e<1?t=S.transformValuesToVersionedValues(t):delete t.$schema}return t}catch(e){return o.clearFlags().then(()=>null)}}),o.saveFlags=t=>{const n=S.extend({},t,{$schema:1});return e.set(i(),JSON.stringify(n))},o.clearFlags=()=>e.clear(i()),o};var Oe=function(e,t){const n={};let r=!1;const o=e=>{r||(r=!0,t.warn(z.localStorageUnavailable(e)))};return n.isEnabled=()=>!!e,n.get=t=>new Promise(n=>{e?e.get(t).then(n).catch(e=>{o(e),n(void 0)}):n(void 0)}),n.set=(t,n)=>new Promise(r=>{e?e.set(t,n).then(()=>r(!0)).catch(e=>{o(e),r(!1)}):r(!1)}),n.clear=t=>new Promise(n=>{e?e.clear(t).then(()=>n(!0)).catch(e=>{o(e),n(!1)}):n(!1)}),n};const{appendUrlPath:Pe,base64URLEncode:Ce,objectHasOwnProperty:Se}=S,{getLDHeaders:Ie,transformHeaders:Te}=Q,{isHttpErrorRecoverable:Fe}=c;var Le=function(e,t,n,r){const o=t.streamUrl,i=t.logger,a={},s=Pe(o,"/eval/"+n),c=t.useReport,u=t.evaluationReasons,l=t.streamReconnectDelay,d=Ie(e,t);let f,g=!1,v=null,p=null,m=null,h=null,y=null,w=0;function k(){const e=(t=function(){const e=l*Math.pow(2,w);return e>3e4?3e4:e}(),t-Math.trunc(.5*Math.random()*t));var t;return w+=1,e}function b(e){if(e.status&&"number"==typeof e.status&&!Fe(e.status))return x(),i.error(z.unrecoverableStreamError(e)),void(p&&(clearTimeout(p),p=null));const t=k();g||(i.warn(z.streamError(e,t)),g=!0),O(!1),x(),E(t)}function E(e){p||(e?p=setTimeout(D,e):D())}function D(){let r;p=null;let a="";const l={headers:d,readTimeoutMillis:3e5};if(e.eventSourceFactory){null!=h&&(a="h="+h),c?e.eventSourceAllowsReport?(r=s,l.method="REPORT",l.headers["Content-Type"]="application/json",l.body=JSON.stringify(m)):(r=Pe(o,"/ping/"+n),a=""):r=s+"/"+Ce(JSON.stringify(m)),l.headers=Te(l.headers,t),u&&(a=a+(a?"&":"")+"withReasons=true"),r=r+(a?"?":"")+a,x(),i.info(z.streamConnecting(r)),f=(new Date).getTime(),v=e.eventSourceFactory(r,l);for(const e in y)Se(y,e)&&v.addEventListener(e,y[e]);v.onerror=b,v.onopen=()=>{w=0}}}function x(){v&&(i.info(z.streamClosing()),v.close(),v=null)}function O(e){f&&r&&r.recordStreamInit(f,!e,(new Date).getTime()-f),f=null}return a.connect=function(e,t,n){m=e,h=t,y={};for(const e in n||{})y[e]=function(t){g=!1,O(!0),n[e]&&n[e](t)};E()},a.disconnect=function(){clearTimeout(p),p=null,x()},a.isConnected=function(){return!!(v&&e.eventSourceIsActive&&e.eventSourceIsActive(v))},a};var je=function(e){let t,n,r,o;const i={addPromise:(i,a)=>{t=i,n&&n(),n=a,i.then(n=>{t===i&&(r(n),e&&e())},n=>{t===i&&(o(n),e&&e())})}};return i.resultPromise=new Promise((e,t)=>{r=e,o=t}),i};const{transformHeaders:Ue,getLDHeaders:Re}=Q,Ae="application/json";var Ne=function(e,t,n){const r=t.baseUrl,o=t.useReport,i=t.evaluationReasons,a=t.logger,s={},u={};function l(n,r){if(!e.httpRequest)return new Promise((e,t)=>{t(new c.LDFlagFetchError(z.httpUnavailable()))});const o=r?"REPORT":"GET",i=Re(e,t);r&&(i["Content-Type"]=Ae);let a=u[n];a||(a=je(()=>{delete u[n]}),u[n]=a);const s=e.httpRequest(o,n,Ue(i,t),r),l=s.promise.then(e=>{if(200===e.status){if(e.header("content-type")&&e.header("content-type").substring(0,16)===Ae)return JSON.parse(e.body);{const t=z.invalidContentType(e.header("content-type")||"");return Promise.reject(new c.LDFlagFetchError(t))}}return Promise.reject(function(e){return 404===e.status?new c.LDInvalidEnvironmentIdError(z.environmentNotFound()):new c.LDFlagFetchError(z.errorFetchingFlags(e.statusText||String(e.status)))}(e))},e=>Promise.reject(new c.LDFlagFetchError(z.networkError(e))));return a.addPromise(l,()=>{s.cancel&&s.cancel()}),a.resultPromise}return s.fetchJSON=function(e){return l(S.appendUrlPath(r,e),null)},s.fetchFlagSettings=function(e,t){let s,c,u,d="";return o?(c=[r,"/sdk/evalx/",n,"/context"].join(""),u=JSON.stringify(e)):(s=S.base64URLEncode(JSON.stringify(e)),c=[r,"/sdk/evalx/",n,"/contexts/",s].join("")),t&&(d="h="+t),i&&(d=d+(d?"&":"")+"withReasons=true"),c=c+(d?"?":"")+d,a.debug(z.debugPolling(c)),l(c,u)},s};var $e=function(e,t){const n={};let r;return n.setContext=function(e){r=S.sanitizeContext(e),r&&t&&t(S.clone(r))},n.getContext=function(){return r?S.clone(r):null},e&&n.setContext(e),n};const{randomUuidV4:Ve}=$,{getContextKinds:He}=ae;var Me=function(e){function t(e){return null==e||"user"===e?"ld:$anonUserId":`ld:$contextKey:${e}`}function n(n,r){return null!==r.key&&void 0!==r.key?(r.key=r.key.toString(),Promise.resolve(r)):r.anonymous?function(n){return e.get(t(n))}(n).then(o=>{if(o)return r.key=o,r;{const o=Ve();return r.key=o,function(n,r){return e.set(t(r),n)}(o,n).then(()=>r)}}):Promise.reject(new c.LDInvalidUserError(z.invalidContext()))}this.processContext=e=>{if(!e)return Promise.reject(new c.LDInvalidUserError(z.contextNotSpecified()));const t=S.clone(e);if("multi"===e.kind){const e=He(t);return Promise.all(e.map(e=>n(e,t[e]))).then(()=>t)}return n(e.kind,t)}};const{randomUuidV4:qe}=$,{baseOptionDefs:ze}=G,{appendUrlPath:Ke}=S;var Je={DiagnosticId:function(e){const t={diagnosticId:qe()};return e&&(t.sdkKeySuffix=e.length>6?e.substring(e.length-6):e),t},DiagnosticsAccumulator:function(e){let t,n,r,o;function i(e){t=e,n=0,r=0,o=[]}return i(e),{getProps:()=>({dataSinceDate:t,droppedEvents:n,eventsInLastBatch:r,streamInits:o}),setProps:e=>{t=e.dataSinceDate,n=e.droppedEvents||0,r=e.eventsInLastBatch||0,o=e.streamInits||[]},incrementDroppedEvents:()=>{n++},setEventsInLastBatch:e=>{r=e},recordStreamInit:(e,t,n)=>{const r={timestamp:e,failed:t,durationMillis:n};o.push(r)},reset:i}},DiagnosticsManager:function(e,t,n,r,o,i,a){const s=!!e.diagnosticUseCombinedEvent,c="ld:"+o+":$diagnostics",u=Ke(i.eventsUrl,"/events/diagnostic/"+o),l=i.diagnosticRecordingInterval,d=n;let f,g,v=!!i.streaming;const p={};function m(){return{sdk:w(),configuration:k(),platform:e.diagnosticPlatformData}}function h(e){i.logger&&i.logger.debug(z.debugPostingDiagnosticEvent(e)),r.sendEvents(e,u,!0).then(()=>{}).catch(()=>{})}function y(){h(function(){const e=(new Date).getTime();let t={kind:s?"diagnostic-combined":"diagnostic",id:a,creationDate:e,...d.getProps()};return s&&(t={...t,...m()}),d.reset(e),t}()),g=setTimeout(y,l),f=(new Date).getTime(),s&&function(){if(t.isEnabled()){const e={...d.getProps()};t.set(c,JSON.stringify(e))}}()}function w(){const t={...e.diagnosticSdkData};return i.wrapperName&&(t.wrapperName=i.wrapperName),i.wrapperVersion&&(t.wrapperVersion=i.wrapperVersion),t}function k(){return{customBaseURI:i.baseUrl!==ze.baseUrl.default,customStreamURI:i.streamUrl!==ze.streamUrl.default,customEventsURI:i.eventsUrl!==ze.eventsUrl.default,eventsCapacity:i.eventCapacity,eventsFlushIntervalMillis:i.flushInterval,reconnectTimeMillis:i.streamReconnectDelay,streamingDisabled:!v,allAttributesPrivate:!!i.allAttributesPrivate,diagnosticRecordingIntervalMillis:i.diagnosticRecordingInterval,usingSecureMode:!!i.hash,bootstrapMode:!!i.bootstrap,fetchGoalsDisabled:!i.fetchGoals,sendEventsOnlyForVariation:!!i.sendEventsOnlyForVariation}}return p.start=()=>{s?function(e){if(!t.isEnabled())return e(!1);t.get(c).then(t=>{if(t)try{const e=JSON.parse(t);d.setProps(e),f=e.dataSinceDate}catch(e){}e(!0)}).catch(()=>{e(!1)})}(e=>{if(e){const e=(f||0)+l,t=(new Date).getTime();t>=e?y():g=setTimeout(y,e-t)}else 0===Math.floor(4*Math.random())?y():g=setTimeout(y,l)}):(h({kind:"diagnostic-init",id:a,creationDate:d.getProps().dataSinceDate,...m()}),g=setTimeout(y,l))},p.stop=()=>{g&&clearTimeout(g)},p.setStreaming=e=>{v=e},p}};var _e=function(e,t){let n=!1;const r={type:e.type,name:e.name,synchronous:e.synchronous,method:(...o)=>{try{e.method(...o)}catch{n||(n=!0,t.warn(z.inspectorMethodError(r.type,r.name)))}}};return r};const{onNextTick:Be}=S,We={flagUsed:"flag-used",flagDetailsChanged:"flag-details-changed",flagDetailChanged:"flag-detail-changed",clientIdentityChanged:"client-identity-changed"};Object.freeze(We);var Ge={InspectorTypes:We,InspectorManager:function(e,t){const n={},r={[We.flagUsed]:[],[We.flagDetailsChanged]:[],[We.flagDetailChanged]:[],[We.clientIdentityChanged]:[]},o={[We.flagUsed]:[],[We.flagDetailsChanged]:[],[We.flagDetailChanged]:[],[We.clientIdentityChanged]:[]},i=e&&e.map(e=>_e(e,t));return i&&i.forEach(e=>{Object.prototype.hasOwnProperty.call(r,e.type)&&!e.synchronous?r[e.type].push(e):Object.prototype.hasOwnProperty.call(o,e.type)&&e.synchronous?o[e.type].push(e):t.warn(z.invalidInspector(e.type,e.name))}),n.hasListeners=e=>r[e]&&r[e].length||o[e]&&o[e].length,n.onFlagUsed=(e,t,n)=>{const i=We.flagUsed;o[i].length&&o[i].forEach(r=>r.method(e,t,n)),r[i].length&&Be(()=>{r[i].forEach(r=>r.method(e,t,n))})},n.onFlags=e=>{const t=We.flagDetailsChanged;o[t].length&&o[t].forEach(t=>t.method(e)),r[t].length&&Be(()=>{r[t].forEach(t=>t.method(e))})},n.onFlagChanged=(e,t)=>{const n=We.flagDetailChanged;o[n].length&&o[n].forEach(n=>n.method(e,t)),r[n].length&&Be(()=>{r[n].forEach(n=>n.method(e,t))})},n.onIdentityChanged=e=>{const t=We.clientIdentityChanged;o[t].length&&o[t].forEach(t=>t.method(e)),r[t].length&&Be(()=>{r[t].forEach(t=>t.method(e))})},n}};const{LDTimeoutError:Xe}=c;var Qe=function(e,t){return new Promise((n,r)=>{setTimeout(()=>{r(new Xe(`${t} timed out after ${e} seconds.`))},1e3*e)})};const Ye="unknown hook";function Ze(e,t,n,r,o){try{return r()}catch(r){return e?.error(`An error was encountered in "${t}" of the "${n}" hook: ${r}`),o}}function et(e,t){try{return t.getMetadata().name||Ye}catch{return e.error("Exception thrown getting metadata for hook. Unable to get hook name."),Ye}}var tt=function(e,t){const n=t?[...t]:[];return{withEvaluation:function(t,r,o,i){if(0===n.length)return i();const a=[...n],s={flagKey:t,context:r,defaultValue:o},c=function(e,t,n){return t.map(t=>Ze(e,"beforeEvaluation",et(e,t),()=>t?.beforeEvaluation?.(n,{})??{},{}))}(e,a,s),u=i();return function(e,t,n,r,o){for(let i=t.length-1;i>=0;i-=1){const a=t[i],s=r[i];Ze(e,"afterEvaluation",et(e,a),()=>a?.afterEvaluation?.(n,s,o)??{},{})}}(e,a,s,c,u),u},identify:function(t,r){const o=[...n],i={context:t,timeout:r},a=function(e,t,n){return t.map(t=>Ze(e,"beforeIdentify",et(e,t),()=>t?.beforeIdentify?.(n,{})??{},{}))}(e,o,i);return t=>{!function(e,t,n,r,o){for(let i=t.length-1;i>=0;i-=1){const a=t[i],s=r[i];Ze(e,"afterIdentify",et(e,a),()=>a?.afterIdentify?.(n,s,o)??{},{})}}(e,o,i,a,t)}},addHook:function(e){n.push(e)},afterTrack:function(t){if(0===n.length)return;const r=[...n];!function(e,t,n){for(let r=t.length-1;r>=0;r-=1){const o=t[r];Ze(e,"afterTrack",et(e,o),()=>o?.afterTrack?.(n),void 0)}}(e,r,t)}}};var nt=function(){let e,t={};function n(n){return e&&S.objectHasOwnProperty(e,n)&&e[n]?e[n]:t&&S.objectHasOwnProperty(t,n)&&t[n]&&!t[n].deleted?t[n]:null}return{clearAllOverrides:function(){if(!e)return{};const t={...e};return e=void 0,t},get:n,getFlagOverrides:function(){return e||{}},getFlags:function(){return t},getFlagsWithOverrides:function(){const r={};for(const e in t){const t=n(e);t&&(r[e]=t)}if(e)for(const t in e){const e=n(t);e&&(r[t]=e)}return r},removeOverride:function(t){e&&e[t]&&(delete e[t],0===Object.keys(e).length&&(e=void 0))},setFlags:function(e){t={...e}},setOverride:function(t,n){e||(e={}),e[t]={value:n}}}};const rt="unknown plugin";function ot(e,t){try{return t.getMetadata().name||rt}catch(t){return e.error("Exception thrown getting metadata for plugin. Unable to get plugin name."),rt}}var it={getPluginHooks:function(e,t,n){const r=[];return n.forEach(n=>{try{const o=n.getHooks?.(t);void 0===o?e.error(`Plugin ${ot(e,n)} returned undefined from getHooks.`):o&&o.length>0&&r.push(...o)}catch(t){e.error(`Exception thrown getting hooks for plugin ${ot(e,n)}. Unable to get hooks.`)}}),r},registerPlugins:function(e,t,n,r){r.forEach(r=>{try{r.register(n,t)}catch(t){e.error(`Exception thrown registering plugin ${ot(e,r)}.`)}})},registerPluginsForDebugOverride:function(e,t,n){n.forEach(n=>{try{n.registerDebug?.(t)}catch(t){e.error(`Exception thrown registering debug override with plugin ${ot(e,n)}.`)}})},createPluginEnvironment:function(e,t,n){const r={};e.userAgent&&(r.name=e.userAgent),e.version&&(r.version=e.version),n.wrapperName&&(r.wrapperName=n.wrapperName),n.wrapperVersion&&(r.wrapperVersion=n.wrapperVersion);const o={};n.application&&(n.application.name&&(o.name=n.application.name),n.application.version&&(o.version=n.application.version));const i={sdk:r,clientSideId:t};return Object.keys(o).length>0&&(i.application=o),i}};const{commonBasicLogger:at}=H,{checkContext:st,getContextKeys:ct}=ae,{InspectorTypes:ut,InspectorManager:lt}=Ge,{getPluginHooks:dt,registerPlugins:ft,registerPluginsForDebugOverride:gt,createPluginEnvironment:vt}=it,pt="change",mt="internal-change";var ht={initialize:function(e,t,n,r,o){const i=function(){if(n&&n.logger)return n.logger;return o&&o.logger&&o.logger.default||at("warn")}(),a=we(i),s=De(a),u=G.validate(n,a,o,i),l=lt(u.inspectors,i),d=u.sendEvents;let f=e,g=u.hash;const v=[...u.plugins],p=vt(r,e,u),m=dt(i,p,v),h=tt(i,[...u.hooks,...m]),y=Oe(r.localStorage,i),w=te(r,f,u),k=u.sendEvents&&!u.diagnosticOptOut,b=k?Je.DiagnosticId(f):null,E=k?Je.DiagnosticsAccumulator((new Date).getTime()):null,D=k?Je.DiagnosticsManager(r,y,E,w,f,u,b):null,x=Le(r,u,f,E),O=u.eventProcessor||ye(r,u,f,E,a,w),P=Ne(r,u,f),C=nt();let I,T,F,L=u.streaming,j=!1,U=!1,R=!0;const A=u.stateProvider,N=$e(null,function(e){(function(e){if(A)return;e&&H({kind:"identify",context:e,creationDate:(new Date).getTime()})})(e),l.hasListeners(ut.clientIdentityChanged)&&l.onIdentityChanged(N.getContext())}),$=new Me(y),V=y.isEnabled()?xe(y,f,()=>g,N):null;function H(e){f&&(A&&A.enqueueEvent&&A.enqueueEvent(e)||(e.context?(R=!1,!d||U||r.isDoNotTrack()||(i.debug(z.debugEnqueueingEvent(e.kind)),O.enqueue(e))):R&&(i.warn(z.eventWithoutContext()),R=!1)))}function M(e,t){l.hasListeners(ut.flagDetailChanged)&&l.onFlagChanged(e.key,B(t))}function q(){l.hasListeners(ut.flagDetailsChanged)&&l.onFlags(Object.entries(C.getFlagsWithOverrides()).map(([e,t])=>({key:e,detail:B(t)})).reduce((e,t)=>(e[t.key]=t.detail,e),{}))}function K(e,t,n,r){const o=N.getContext(),i=new Date,a={kind:"feature",key:e,context:o,value:t?t.value:null,variation:t?t.variationIndex:null,default:n,creationDate:i.getTime()},s=C.getFlags()[e];s&&(a.version=s.flagVersion?s.flagVersion:s.version,a.trackEvents=s.trackEvents,a.debugEventsUntilDate=s.debugEventsUntilDate),(r||s&&s.trackReason)&&t&&(a.reason=t.reason),H(a)}function J(e){return st(e,!1)?Promise.resolve(e):Promise.reject(new c.LDInvalidUserError(z.invalidContext()))}function _(e,t,n,r,o,i){let a;const s=C.get(e);return s?(a=B(s),null!==s.value&&void 0!==s.value||(a.value=t)):a={value:t,variationIndex:null,reason:{kind:"ERROR",errorKind:"FLAG_NOT_FOUND"}},n&&(o||s?.prerequisites?.forEach(e=>{_(e,void 0,n,!1,!1,!1)}),K(e,a,t,r)),!o&&i&&function(e,t){l.hasListeners(ut.flagUsed)&&l.onFlagUsed(e,t,N.getContext())}(e,a),a}function B(e){return{value:e.value,variationIndex:void 0===e.variation?null:e.variation,reason:e.reason||null}}function W(){if(T=!0,!N.getContext())return;const e=e=>{try{return JSON.parse(e)}catch(e){return void a.maybeReportError(new c.LDInvalidDataError(z.invalidData()))}};x.connect(N.getContext(),g,{ping:function(){i.debug(z.debugStreamPing());const e=N.getContext();P.fetchFlagSettings(e,g).then(t=>{S.deepEquals(e,N.getContext())&&Q(t||{})}).catch(e=>{a.maybeReportError(new c.LDFlagFetchError(z.errorFetchingFlags(e)))})},put:function(t){const n=e(t.data);n&&(i.debug(z.debugStreamPut()),Q(n))},patch:function(t){const n=e(t.data);if(!n)return;const r=C.getFlags(),o=r[n.key];if(!o||!o.version||!n.version||o.version<n.version){i.debug(z.debugStreamPatch(n.key));const e={},t=S.extend({},n);delete t.key,r[n.key]=t,C.setFlags(r);const a=B(t);e[n.key]=o?{previous:o.value,current:a}:{current:a},M(n,t),Y(e)}else i.debug(z.debugStreamPatchIgnored(n.key))},delete:function(t){const n=e(t.data);if(!n)return;const r=C.getFlags();if(!r[n.key]||r[n.key].version<n.version){i.debug(z.debugStreamDelete(n.key));const e={};r[n.key]&&!r[n.key].deleted&&(e[n.key]={previous:r[n.key].value}),r[n.key]={version:n.version,deleted:!0},C.setFlags(r),M(n,r[n.key]),Y(e)}else i.debug(z.debugStreamDeleteIgnored(n.key))}})}function X(){T&&(x.disconnect(),T=!1)}function Q(e){const t={};if(!e)return Promise.resolve();const n=C.getFlags();for(const r in n)S.objectHasOwnProperty(n,r)&&n[r]&&(e[r]&&!S.deepEquals(e[r].value,n[r].value)?t[r]={previous:n[r].value,current:B(e[r])}:e[r]&&!e[r].deleted||(t[r]={previous:n[r].value}));for(const r in e)S.objectHasOwnProperty(e,r)&&e[r]&&(!n[r]||n[r].deleted)&&(t[r]={current:B(e[r])});return C.setFlags({...e}),q(),Y(t).catch(()=>{})}function Y(e){const t=Object.keys(e);if(t.length>0){const n={};t.forEach(t=>{const r=e[t].current,o=r?r.value:void 0,i=e[t].previous;a.emit(pt+":"+t,o,i),n[t]=r?{current:o,previous:i}:{previous:i}}),a.emit(pt,n),a.emit(mt,C.getFlagsWithOverrides()),u.sendEventsOnlyForVariation||A||t.forEach(t=>{K(t,e[t].current)})}return I&&V?V.saveFlags(C.getFlags()):Promise.resolve()}function Z(){const e=L||F&&void 0===L;e&&!T?W():!e&&T&&X(),D&&D.setStreaming(e)}function ee(e){return e===pt||e.substr(0,7)===pt+":"}if("string"==typeof u.bootstrap&&"LOCALSTORAGE"===u.bootstrap.toUpperCase()&&(V?I=!0:i.warn(z.localStorageUnavailable())),"object"==typeof u.bootstrap&&C.setFlags(function(e){const t=Object.keys(e),n="$flagsState",r="$valid",o=e[n];!o&&t.length&&i.warn(z.bootstrapOldFormat()),!1===e[r]&&i.warn(z.bootstrapInvalid());const a={};return t.forEach(t=>{if(t!==n&&t!==r){let n={value:e[t]};o&&o[t]?n=S.extend(n,o[t]):n.version=0,a[t]=n}}),a}(u.bootstrap)),A){const e=A.getInitialState();e?ne(e):A.on("init",ne),A.on("update",function(e){e.context&&N.setContext(e.context);e.flags&&Q(e.flags)})}else(function(){if(!e)return Promise.reject(new c.LDInvalidEnvironmentIdError(z.environmentNotSpecified()));let n;return $.processContext(t).then(J).then(e=>(n=S.once(h.identify(e,void 0)),e)).then(e=>(n?.({status:"completed"}),N.setContext(e),"object"==typeof u.bootstrap?re():I?V.loadFlags().then(e=>{if(null==e){C.setFlags({});const e=N.getContext(),t=g;return P.fetchFlagSettings(e,t).then(n=>{if(t===g&&S.deepEquals(e,N.getContext()))return Q(n||{})}).then(re).catch(e=>{oe(new c.LDFlagFetchError(z.errorFetchingFlags(e)))})}{C.setFlags(e),S.onNextTick(re);const t=N.getContext(),n=g;return P.fetchFlagSettings(t,n).then(e=>{if(n===g&&S.deepEquals(t,N.getContext()))return Q(e)}).catch(e=>a.maybeReportError(e))}}):P.fetchFlagSettings(N.getContext(),g).then(e=>{C.setFlags(e||{}),q(),re()}).catch(e=>{C.setFlags({}),oe(e)}))).catch(e=>{throw n?.({status:"error"}),e})})().catch(oe);function ne(e){f=e.environment,N.setContext(e.context),C.setFlags({...e.flags}),S.onNextTick(re)}function re(){i.info(z.clientInitialized()),j=!0,Z(),s.signalSuccess()}function oe(e){s.signalFailure(e)}const ie={waitForInitialization:function(e=void 0){if(null!=e){if("number"==typeof e)return function(e){e>5&&i.warn("The waitForInitialization function was called with a timeout greater than 5 seconds. We recommend a timeout of 5 seconds or less.");const t=s.getInitializationPromise(),n=Qe(e,"waitForInitialization");return Promise.race([n,t]).catch(e=>{throw e instanceof c.LDTimeoutError&&i.error(`waitForInitialization error: ${e}`),e})}(e);i.warn("The waitForInitialization method was provided with a non-numeric timeout.")}return i.warn("The waitForInitialization function was called without a timeout specified. In a future version a default timeout will be applied."),s.getInitializationPromise()},waitUntilReady:()=>s.getReadyPromise(),identify:function(e,t,n){if(U)return S.wrapPromiseCallback(Promise.resolve({}),n);if(A)return i.warn(z.identifyDisabled()),S.wrapPromiseCallback(Promise.resolve(S.transformVersionedValuesToValues(C.getFlagsWithOverrides())),n);let r;const o=I&&V?V.clearFlags():Promise.resolve();return S.wrapPromiseCallback(o.then(()=>$.processContext(e)).then(J).then(e=>(r=S.once(h.identify(e,void 0)),e)).then(e=>P.fetchFlagSettings(e,t).then(n=>{const r=S.transformVersionedValuesToValues(n);return N.setContext(e),g=t,n?Q(n).then(()=>r):r})).then(e=>(r?.({status:"completed"}),T&&W(),e)).catch(e=>(r?.({status:"error"}),a.maybeReportError(e),Promise.reject(e))),n)},getContext:function(){return N.getContext()},variation:function(e,t){const{value:n}=h.withEvaluation(e,N.getContext(),t,()=>_(e,t,!0,!1,!1,!0));return n},variationDetail:function(e,t){return h.withEvaluation(e,N.getContext(),t,()=>_(e,t,!0,!0,!1,!0))},track:function(e,t,n){if("string"!=typeof e)return void a.maybeReportError(new c.LDInvalidEventKeyError(z.unknownCustomEventKey(e)));void 0!==n&&"number"!=typeof n&&i.warn(z.invalidMetricValue(typeof n)),r.customEventFilter&&!r.customEventFilter(e)&&i.warn(z.unknownCustomEventKey(e));const o=N.getContext(),s={kind:"custom",key:e,context:o,url:r.getCurrentUrl(),creationDate:(new Date).getTime()};o&&o.anonymous&&(s.contextKind=o.anonymous?"anonymousUser":"user"),null!=t&&(s.data=t),null!=n&&(s.metricValue=n),H(s),h.afterTrack({context:o,key:e,data:t,metricValue:n})},on:function(e,t,n){ee(e)?(F=!0,j&&Z(),a.on(e,t,n)):a.on(...arguments)},off:function(e){if(a.off(...arguments),ee(e)){let e=!1;a.getEvents().forEach(t=>{ee(t)&&a.getEventListenerCount(t)>0&&(e=!0)}),e||(F=!1,T&&void 0===L&&X())}},setStreaming:function(e){const t=null===e?void 0:e;t!==L&&(L=t,Z())},flush:function(e){return S.wrapPromiseCallback(d?O.flush():Promise.resolve(),e)},allFlags:function(){const e={},t=C.getFlagsWithOverrides();if(!t)return e;for(const n in t)e[n]=_(n,null,!u.sendEventsOnlyForVariation,!1,!0,!1).value;return e},close:function(e){if(U)return S.wrapPromiseCallback(Promise.resolve(),e);const t=()=>{U=!0,C.setFlags({})},n=Promise.resolve().then(()=>{if(X(),D&&D.stop(),d)return O.stop(),O.flush()}).then(t).catch(t);return S.wrapPromiseCallback(n,e)},addHook:function(e){h.addHook(e)}};ft(i,p,ie,v);const ae={setOverride:function(e,t){const n={},r=C.get(e),o=r?r.value:null;if(o===t)return void i.debug(`setOverride: No change needed for ${e}, value already ${t}`);C.setOverride(e,t);const a=C.get(e),s=B(a);n[e]={previous:o,current:s},M({key:e},a),Y(n)},removeOverride:function(e){const t=C.getFlagOverrides();if(!t[e])return;const n={},r=t[e],o=C.getFlags()[e];n[e]={previous:r.value,current:o?B(o):void 0},C.removeOverride(e),M({key:e},o),Y(n)},clearAllOverrides:function(){const e=C.getFlagOverrides();if(0===Object.keys(e).length)return;const t={},n=C.getFlags();Object.keys(e).forEach(r=>{const o=e[r],i=n[r];t[r]={previous:o.value,current:i?B(i):void 0}}),C.clearAllOverrides(),Object.keys(t).length>0&&Y(t)},getAllOverrides:function(){const e=C.getFlagOverrides();if(!e)return{};const t={};return Object.keys(e).forEach(n=>{const r=e[n];r&&(t[n]=r.value)}),t}};return gt(i,ae,v),{client:ie,options:u,emitter:a,ident:N,logger:i,requestor:P,start:function(){d&&(D&&D.start(),O.start())},enqueueEvent:H,getFlagsInternal:function(){return C.getFlagsWithOverrides()},getEnvironmentId:()=>f,internalChangeEventName:mt}},commonBasicLogger:at,errors:c,messages:z,utils:S,getContextKeys:ct},yt=ht.initialize,wt=ht.errors,kt=ht.messages;function bt(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Et(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Dt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Et(Object(n),!0).forEach(function(t){bt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Et(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var xt=ht.commonBasicLogger;var Ot=function(e){return xt(Dt({destination:console.log},e))};var Pt={promise:Promise.resolve({status:200,header:function(){return null},body:null})};function Ct(e,t,n,r,o){if(o&&!function(){var e=window.navigator&&window.navigator.userAgent;if(e){var t=e.match(/Chrom(e|ium)\/([0-9]+)\./);if(t)return parseInt(t[2],10)<73}return!0}())return Pt;var i=new window.XMLHttpRequest;for(var a in i.open(e,t,!o),n||{})Object.prototype.hasOwnProperty.call(n,a)&&i.setRequestHeader(a,n[a]);if(o){try{i.send(r)}catch(e){}return Pt}var s,c=new Promise(function(e,t){i.addEventListener("load",function(){s||e({status:i.status,header:function(e){return i.getResponseHeader(e)},body:i.responseText})}),i.addEventListener("error",function(){s||t(new Error)}),i.send(r)});return{promise:c,cancel:function(){s=!0,i.abort()}}}var St=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function It(e,t,n,r){var o,i,a=(("substring"===e.kind||"regex"===e.kind)&&r.includes("/")?t:t.replace(r,"")).replace(n,"");switch(e.kind){case"exact":i=t,o=new RegExp("^"+St(e.url)+"/?$");break;case"canonical":i=a,o=new RegExp("^"+St(e.url)+"/?$");break;case"substring":i=a,o=new RegExp(".*"+St(e.substring)+".*$");break;case"regex":i=a,o=new RegExp(e.pattern);break;default:return!1}return o.test(i)}function Tt(e,t){for(var n={},r=null,o=[],i=0;i<e.length;i++)for(var a=e[i],s=a.urls||[],c=0;c<s.length;c++)if(It(s[c],window.location.href,window.location.search,window.location.hash)){"pageview"===a.kind?t("pageview",a):(o.push(a),t("click_pageview",a));break}return o.length>0&&(r=function(e){for(var n=function(e,t){for(var n=[],r=0;r<t.length;r++)for(var o=e.target,i=t[r],a=i.selector,s=document.querySelectorAll(a);o&&s.length>0;){for(var c=0;c<s.length;c++)o===s[c]&&n.push(i);o=o.parentNode}return n}(e,o),r=0;r<n.length;r++)t("click",n[r])},document.addEventListener("click",r)),n.dispose=function(){document.removeEventListener("click",r)},n}function Ft(e,t,n){var r,o;function i(){o&&o.dispose(),r&&r.length&&(o=Tt(r,a))}function a(n,r){var o=e.ident.getContext(),i={kind:n,key:r.key,data:null,url:t.getCurrentUrl(),creationDate:(new Date).getTime(),context:o};return"click"===n&&(i.selector=r.selector),e.enqueueEvent(i)}return e.requestor.fetchJSON("/sdk/goals/"+e.getEnvironmentId()).then(function(e){e&&e.length>0&&(o=Tt(r=e,a),function(e,t){var n,r=window.location.href;function o(){(n=window.location.href)!==r&&(r=n,t())}!function e(t,n){t(),setTimeout(function(){e(t,n)},n)}(o,e),window.history&&window.history.pushState?window.addEventListener("popstate",o):window.addEventListener("hashchange",o)}(300,i)),n()}).catch(function(t){e.emitter.maybeReportError(new wt.LDUnexpectedResponseError((t&&t.message,t.message))),n()}),{}}var Lt="goalsReady",jt={fetchGoals:{default:!0},hash:{type:"string"},eventProcessor:{type:"object"},eventUrlTransformer:{type:"function"},disableSyncEventPost:{default:!1}};function Ut(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=function(e){var t,n={userAgentHeaderName:"X-LaunchDarkly-User-Agent",synchronousFlush:!1};if(window.XMLHttpRequest){var r=e&&e.disableSyncEventPost;n.httpRequest=function(e,t,o,i){var a=n.synchronousFlush&!r;return n.synchronousFlush=!1,Ct(e,t,o,i,a)}}n.httpAllowsPost=function(){return void 0===t&&(t=!!window.XMLHttpRequest&&"withCredentials"in new window.XMLHttpRequest),t},n.httpFallbackPing=function(e){(new window.Image).src=e};var o,i=e&&e.eventUrlTransformer;n.getCurrentUrl=function(){return i?i(window.location.href):window.location.href},n.isDoNotTrack=function(){var e;return 1===(e=window.navigator&&void 0!==window.navigator.doNotTrack?window.navigator.doNotTrack:window.navigator&&void 0!==window.navigator.msDoNotTrack?window.navigator.msDoNotTrack:window.doNotTrack)||!0===e||"1"===e||"yes"===e};try{window.localStorage&&(n.localStorage={get:function(e){return new Promise(function(t){t(window.localStorage.getItem(e))})},set:function(e,t){return new Promise(function(n){window.localStorage.setItem(e,t),n()})},clear:function(e){return new Promise(function(t){window.localStorage.removeItem(e),t()})}})}catch(e){n.localStorage=null}if(e&&e.useReport&&"function"==typeof window.EventSourcePolyfill&&window.EventSourcePolyfill.supportedOptions&&window.EventSourcePolyfill.supportedOptions.method?(n.eventSourceAllowsReport=!0,o=window.EventSourcePolyfill):(n.eventSourceAllowsReport=!1,o=window.EventSource),window.EventSource){var a=3e5;n.eventSourceFactory=function(e,t){var n=Dt(Dt({},{heartbeatTimeout:a,silentTimeout:a,skipDefaultHeaders:!0}),t);return new o(e,n)},n.eventSourceIsActive=function(e){return e.readyState===window.EventSource.OPEN||e.readyState===window.EventSource.CONNECTING}}return n.userAgent="JSClient",n.version="3.9.5",n.diagnosticSdkData={name:"js-client-sdk",version:"3.9.5"},n.diagnosticPlatformData={name:"JS"},n.diagnosticUseCombinedEvent=!0,n}(n),o=yt(e,t,n,r,jt),i=o.client,a=o.options,s=o.emitter,c=new Promise(function(e){var t=s.on(Lt,function(){s.off(Lt,t),e()})});i.waitUntilGoalsReady=function(){return c},a.fetchGoals?Ft(o,r,function(){return s.emit(Lt)}):s.emit(Lt),"complete"!==document.readyState?window.addEventListener("load",o.start):o.start();var u=function(){r.synchronousFlush=!0,i.flush().catch(function(){}),r.synchronousFlush=!1};return document.addEventListener("visibilitychange",function(){"hidden"===document.visibilityState&&u()}),window.addEventListener("pagehide",u),i}var Rt=Ot,At="3.9.5";var Nt={initialize:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return console&&console.warn&&console.warn(kt.deprecated("default export","named LDClient export")),Ut(e,t,n)},version:At};e.basicLogger=Rt,e.createConsoleLogger=void 0,e.default=Nt,e.initialize=Ut,e.version=At,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ldclient.min.js.map
5a:T12e9,// Loads the LaunchDarkly JS client SDK and initializes it.
// Mintlify includes every .js file in the content directory on every page,
// after the page becomes interactive.
//
// Docs flags live in Catfood, not app.launchdarkly.com, and they are served by the
// org's normal SDK front door. The environment also has secure mode turned on, so
// each environment needs three things: its client-side ID, the host that serves it,
// and a secure mode hash generated for the exact context below. Client-side IDs and
// secure mode hashes are both safe to commit. Never put an SDK key (sdk-...) or an
// API token (api-...) here.
(function () {
  var ENVIRONMENTS = {
    production: {
      clientSideId: '5866f3891cd8810a42ce5281',
      evalUrl: 'https://sdk.ld.catamorphic.com',
      streamUrl: 'https://stream.ld.catamorphic.com',
      secureModeHash: '32d6ee918ac1631eaa3f86b36a12d1e62bd890cb50b38dff0304343b7ab7ad93',
    },
    staging: {
      clientSideId: '586c33cf1cd88133f9a7804f',
      evalUrl: 'https://sdk.ld.catamorphic.com',
      streamUrl: 'https://stream.ld.catamorphic.com',
      secureModeHash: '6938419d63f2ec8f3a08884a8a349798e3e715f08e8c8922e950bb70320bb5d4',
    },
  };

  var EVENTS_URL = 'https://events.ld.catamorphic.com';

  // Secure mode signs one specific context, so the key has to be this fixed string
  // rather than an SDK-generated per-visitor key. Every reader therefore shares one
  // anonymous context. Changing any field here invalidates the hashes above.
  var CONTEXT = {
    kind: 'user',
    key: 'anonymous',
    anonymous: true,
    application: 'launchDarkly',
  };

  // Only previews and local development read staging. Everything else reads
  // production, and that fallback direction is deliberate.
  //
  // launchdarkly.com proxies /docs to Mintlify's production deployment, and so do
  // its Netlify deploy previews, which report their own hostnames
  // (deploy-preview-404--launchdarkly-com.netlify.app). While production was an
  // allowlist of one, every one of those hosts fell through to staging, so a public
  // URL served staging flag values and could show content that production has
  // flagged off. Defaulting to production means an unrecognized host shows
  // production flag values, which is wrong in a preview but never publishes
  // anything early.
  function isStaging() {
    var h = window.location.hostname;
    return (
      h === 'localhost' ||
      h === '127.0.0.1' ||
      h === '::1' ||
      // `mint dev` also prints a LAN address, which teammates use to look at a
      // local build from another device.
      /^192\.168\./.test(h) ||
      /^10\./.test(h) ||
      /^172\.(1[6-9]|2[0-9]|3[01])\./.test(h) ||
      // Mintlify's per-PR preview deployments.
      /\.mintlify\.(site|app)$/.test(h)
    );
  }

  var env = isStaging() ? ENVIRONMENTS.staging : ENVIRONMENTS.production;

  // Without this, an unconfigured environment initializes against the literal
  // placeholder and fails in a way that looks like a flag problem.
  if (env.clientSideId.indexOf('REPLACE_WITH_') === 0) {
    console.warn(
      '[launchdarkly] No LaunchDarkly configuration for this environment, so ' +
        'flag-gated content renders its fallback. Fill in ld-init.js.',
    );
    return;
  }

  function start() {
    window.ldClient = window.LDClient.initialize(env.clientSideId, CONTEXT, {
      hash: env.secureModeHash,
      baseUrl: env.evalUrl,
      streamUrl: env.streamUrl,
      eventsUrl: EVENTS_URL,
    });
    window.ldClient.waitUntilReady().then(function () {
      // Lets components know flags are ready without polling.
      window.dispatchEvent(new Event('ld-ready'));
    });
  }

  // The SDK is vendored at assets/ldclient-3.9.5.min.js rather than pulled from a
  // CDN, because a CDN would run third-party code as first-party script on every
  // docs page -- the same thing our own docs tell customers not to do. To upgrade,
  // drop in a new bundle, delete the old one, and update the filename in the
  // warning below.
  //
  // Mintlify auto-includes every .js file under this directory, so the bundle has
  // already been requested and window.LDClient may already exist. It gives no
  // ordering guarantee between the files it injects, though, so when the bundle has
  // not finished yet we have to wait for it rather than assume it is there.
  if (window.LDClient) {
    start();
    return;
  }

  var waited = 0;
  var poll = setInterval(function () {
    if (window.LDClient) {
      clearInterval(poll);
      start();
    } else if ((waited += 50) >= 10000) {
      clearInterval(poll);
      console.warn(
        '[launchdarkly] assets/ldclient-3.9.5.min.js never defined LDClient, so ' +
          'flag-gated content renders its fallback. Is the bundle still present?',
      );
    }
  }, 50);
})();
53:["$","$L58",null,{"customJsDisabled":false,"jsFiles":[{"_id":"6ac01cd82ddd1ebfb319d0ef","subdomain":"launchdarkly","filePath":"assets/ldclient-3.9.5.min.js","__v":0,"content":"$59"},{"_id":"6ac01cd82ddd1ebfb319e347","subdomain":"launchdarkly","filePath":"ld-init.js","__v":0,"content":"$5a"}]}]
5d:T17603,"use strict";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,CodeBlock,CodeGroup,Frame,Heading,Info,Note,OptimizedImage,Tip,View}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!View)_missingMdxReference(`View`,true);return _jsxs(_Fragment,{children:[_jsx(View,{title:`Developer`,id:`developer`}),`
`,_jsx(View,{title:`Federal docs`,id:`federal-docs`}),`
`,_jsx(View,{title:`EU docs`,id:`eu-docs`}),`
`,_jsx(_components.p,{children:`AgentControl lets you manage model configuration and instructions for your AI agents outside of your application code. With AgentControl, you can update prompts and models without redeploying.`}),`
`,_jsx(_components.p,{children:`By the end of this quickstart, you will have:`}),`
`,_jsxs(_components.ul,{children:[`
`,_jsx(_components.li,{children:`Created your first agent-based config`}),`
`,_jsx(_components.li,{children:`Deployed your config and called it from your application`}),`
`,_jsx(_components.li,{children:`Made a change to your prompt or model without redeploying`}),`
`]}),`
`,_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Scope of this quickstart`})}),_jsx(_components.p,{children:`This quickstart focuses on AgentControl configs in completion mode, which lets you configure prompts with messages and roles for single-step model responses. Completion mode supports multi-message prompts, including chat-style prompts. Completion mode does not map to a specific provider API, so you can use it with any provider LaunchDarkly supports.`}),_jsxs(_components.p,{children:[`AgentControl configs can also be created in agent mode, which uses instructions to define multi-step workflows. Agent mode is documented separately in `,_jsx(_components.a,{href:`/home/agentcontrol/agents`,children:`Agents`}),`.`]})]}),`
`,_jsxs(_components.p,{children:[`Follow the steps below to incorporate AgentControl configs into your app, or use the `,_jsx(_components.a,{href:`https://app.launchdarkly.com/projects/default/onboarding`,children:`in-app onboarding`}),` to set up your first config directly in the LaunchDarkly UI.`]}),`
`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`
`,_jsx(_components.p,{children:`To complete this quickstart, you need the following:`}),`
`,_jsxs(_components.ul,{children:[`
`,_jsxs(_components.li,{children:[`A `,_jsx(_components.a,{href:`https://app.launchdarkly.com/`,children:`LaunchDarkly account`}),` and a server-side SDK key for your environment. To find your SDK key, read `,_jsx(_components.a,{href:`/home/account/environment/keys`,children:`SDK credentials`}),`. If you haven’t installed a LaunchDarkly SDK yet, continue reading. This topic explains how to install a supported SDK.`]}),`
`,_jsxs(_components.li,{children:[`A LaunchDarkly role that allows `,_jsx(_components.a,{href:`/home/account/roles/role-actions#agentcontrol-config-actions`,children:`AgentControl config actions`}),`. The LaunchDarkly Project Admin, Maintainer, and Developer project roles, as well as the Admin and Owner base roles, include this permission.`]}),`
`,_jsx(_components.li,{children:`An API key for your model provider, such as OpenAI or Anthropic, made available to your application as an environment variable.`}),`
`]}),`
`,_jsx(Heading,{level:`2`,id:`complete-the-in-app-quickstart`,children:`Complete the in-app quickstart`}),`
`,_jsx(_components.p,{children:`There are several options for completing the in-app quickstart. You can set up with an AI coding assistant, install the SDK manually with your own app, or install it manually using a sample app we provide.`}),`
`,_jsxs(_components.p,{children:[`This procedure documents the process of installation through the `,_jsx(_components.a,{href:`https://app.launchdarkly.com/projects/default/onboarding`,children:`built-in onboarding experience`}),`.`]}),`
`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Using an AI coding assistant?`})}),_jsxs(_components.p,{children:[`You can set up AgentControl by giving a prompt to your coding assistant. In the quickstart workflow, select `,_jsx(_components.strong,{children:`Install with AI`}),`, choose your LLM provider, and give it the `,_jsx(_components.a,{href:`/home/agentcontrol/agentcontrol-prompt`,children:`Markdown prompt`}),` available in the UI.`]})]}),`
`,_jsx(_components.p,{children:`You can connect your app to LaunchDarkly with an AI agent or with a manual installation process. The procedure below explains how to connect to LaunchDarkly manually.`}),`
`,_jsx(Heading,{level:`2`,id:`step-1-install-the-sdk`,children:`Step 1: Install the SDK`}),`
`,_jsx(_components.p,{children:`First, install the LaunchDarkly server-side SDK and AI SDK, as well as the agent framework you want to use.`}),`
`,_jsx(Heading,{level:`3`,id:`installing-manually`,children:`Installing manually`}),`
`,_jsxs(_components.ol,{children:[`
`,_jsxs(_components.li,{children:[`In the in-app quickstart, click `,_jsx(_components.strong,{children:`Install manually`}),` to reveal the SDK configuration instructions.`]}),`
`,_jsx(_components.li,{children:`Choose between using your existing app or a sample app.`}),`
`,_jsx(_components.li,{children:`Click to select your SDK language. The instructions for installation update based on which language you choose. In this example, we use Python and LangChain.`}),`
`]}),`
`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Python`,lines:`true`,wrap:`true`,numberOfLines:`3`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`pip install launchdarkly`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`server`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`sdk`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`pip install launchdarkly`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`server`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`sdk`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`ai`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`pip install langchain langchain`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`anthropic`})]}),`
`]})})})}),`
`,_jsxs(_components.p,{children:[`To get started with other frameworks or model providers, read the `,_jsx(_components.a,{href:`/guides/agentcontrol`,children:`AgentControl guides`}),`.`]}),`
`,_jsx(Heading,{level:`2`,id:`step-2-initialize-the-client`,children:`Step 2: Initialize the client`}),`
`,_jsxs(_components.p,{children:[`Initialize the client to connect LaunchDarkly to your app. To do this, you must have your LaunchDarkly SDK key. To find your SDK key, read `,_jsx(_components.a,{href:`/home/account/environment/keys`,children:`SDK credentials`}),`.`]}),`
`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Python`,lines:`true`,wrap:`true`,expandable:`true`,numberOfLines:`28`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Config`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai.client `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` AIAgentConfig, AIAgentConfigDefault`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` langchain.agents `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` create_agent`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` langchain.messages `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` HumanMessage`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`ldclient.set_config(Config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"YOUR-SDK-KEY"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`))`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`aiclient `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient(ldclient.get())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`context `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.Context.create(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"user-123"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` aiclient.agent_config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`'YOUR-CONFIG-NAME'`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`, context, AIAgentConfigDefault())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`tracker `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.tracker`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,"--shiki-dark":`#DCDCAA`},children:` handle_agent_call_langchain`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    config`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: AIAgentConfig,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    user_input`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`:`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model.get_parameter(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"name"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` "anthropic:claude-sonnet-4-6"`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    agent `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` create_agent(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        model`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`model,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        system_prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config.instructions,`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    )`})}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    response `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` agent.invoke({`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"messages"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: [HumanMessage(user_input)]})`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    return`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` response[`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"messages"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`][`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`].content`})]}),`
`]})})})}),`
`,_jsx(Heading,{level:`2`,id:`step-3-create-an-agent-based-config-in-launchdarkly`,children:`Step 3: Create an agent-based config in LaunchDarkly`}),`
`,_jsxs(_components.p,{children:[`Create an agent-based config to store your model settings and instructions. You can do this through the LaunchDarkly UI, or agentically using the `,_jsx(_components.a,{href:`/home/getting-started/mcp`,children:`LaunchDarkly MCP server`}),` from your AI coding assistant. For example, Claude Code and Cursor can both perform this task.`]}),`
`,_jsx(_components.p,{children:`To create the config in the UI:`}),`
`,_jsxs(_components.ol,{children:[`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`In the left sidebar, click `,_jsx(_components.strong,{children:`Agents`}),`. The AgentControl menu appears.`]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Configs`}),`.`]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create config`}),`. The “Create config” dialog opens, with `,_jsx(_components.strong,{children:`Completion`}),` selected by default.`]}),`
`,_jsx(Frame,{caption:`The "Create config" dialog.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/agentcontrol-snippet-create.auto.png?fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=d134eb012978d2bb2886a4169be29ed0`,alt:`The "Create config" dialog.`,"data-og-width":`1240`,width:`1240`,"data-og-height":`908`,height:`908`,"data-path":`images/auto/agentcontrol-snippet-create.auto.png`,"data-optimize":`true`,"data-opv":`3`,srcset:`https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/agentcontrol-snippet-create.auto.png?w=280&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=726ed8822f901dd44cf5694baaf283ae 280w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/agentcontrol-snippet-create.auto.png?w=560&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=a12b7cfb674528bcdef6dc5b89162f88 560w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/agentcontrol-snippet-create.auto.png?w=840&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=84bf8fdbddb74b62ffc7e40447169d46 840w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/agentcontrol-snippet-create.auto.png?w=1100&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=b5c82c9bcf6bd56b480ef0c97f82ecb7 1100w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/agentcontrol-snippet-create.auto.png?w=1650&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=cd6ef2b7a1221913d2a22dd556681d16 1650w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/agentcontrol-snippet-create.auto.png?w=2500&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=4efa6cd0e78e0a033ad8a1493cc54768 2500w`})}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsx(_components.p,{children:`Enter a name for your config, and optionally assign a maintainer.`}),`
`,_jsxs(Info,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Save the config key`})}),_jsxs(_components.p,{children:[`When you name your config, a `,_jsx(_components.strong,{children:`key`}),` generates automatically. Copy and save this key now. You’ll use it in `,_jsx(_components.a,{href:`#step-5-use-the-agent-based-config-with-your-agent-framework`,children:`Step 5`}),`.`]})]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`(Optional) If you use flags and segments, you can click `,_jsx(_components.strong,{children:`Add views`}),` to create a view of this config.`]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`.`]}),`
`]}),`
`]}),`
`,_jsxs(_components.p,{children:[`After you create the config, the `,_jsx(_components.strong,{children:`Variations`}),` tab appears.`]}),`
`,_jsx(_components.p,{children:`Then, create a variation. Every completion-based config has one or more variations. Each variation includes a model configuration and, optionally, one or more messages.`}),`
`,_jsx(_components.p,{children:`Here’s how:`}),`
`,_jsxs(_components.ol,{children:[`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Variations`}),` tab, replace “Untitled variation” with a variation `,_jsx(_components.strong,{children:`Name`}),`. You’ll use this to refer to the variations when you set up targeting rules below.`]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Select a model`}),` and choose the model to use.`]}),`
`,_jsxs(_components.ul,{children:[`
`,_jsx(_components.li,{children:`LaunchDarkly provides a list of common models, and updates it regularly.`}),`
`,_jsxs(_components.li,{children:[`You can also choose `,_jsx(_components.strong,{children:`+ Add a model`}),` and create your own. To learn more, read `,_jsx(_components.a,{href:`/home/agentcontrol/create-model-config`,children:`Create and manage AI model configurations`}),`.`]}),`
`]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`(Optional) Select a `,_jsx(_components.strong,{children:`message role`}),` and enter the message for the variation. If you’d like to customize the message at runtime, use `,_jsx(_components.code,{children:`{{ example_variable }}`}),` or `,_jsx(_components.code,{children:`{{ ldctx.example_context_attribute }}`}),` within the message. The LaunchDarkly AI SDK will substitute the correct values when you customize the config from within your app.`]}),`
`,_jsxs(_components.ul,{children:[`
`,_jsxs(_components.li,{children:[`To learn more about how variables and context attributes are inserted into messages at runtime, read `,_jsx(_components.a,{href:`/sdk/features/agentcontrol-config`,children:`Customizing AgentControl configs`}),`.`]}),`
`]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Review and save`}),`.`]}),`
`,_jsx(_components.p,{children:`Here’s an example of a completed variation:`}),`
`,_jsx(Frame,{caption:`The Variations tab of a config with one variation.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/ai-config-variation-complete.auto.png?fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=e6b80ed68d6edb05d7f31ee72e6b4974`,alt:`The Variations tab of a config with one variation.`,"data-og-width":`2070`,width:`2070`,"data-og-height":`638`,height:`638`,"data-path":`images/auto/ai-config-variation-complete.auto.png`,"data-optimize":`true`,"data-opv":`3`,srcset:`https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/ai-config-variation-complete.auto.png?w=280&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=d18aaaa59deb923c58f84dcfd705016e 280w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/ai-config-variation-complete.auto.png?w=560&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=c38b555c533782e2734ed22161ed65ad 560w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/ai-config-variation-complete.auto.png?w=840&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=1771a9255048025473b8a529df078110 840w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/ai-config-variation-complete.auto.png?w=1100&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=b6921fc8ce12e66ec11ac4edff5558d5 1100w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/ai-config-variation-complete.auto.png?w=1650&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=893112d6d70df62a8581bcec47eaffd2 1650w, https://mintcdn.com/launchdarkly/-b7nPh0oyigf6iW7/images/auto/ai-config-variation-complete.auto.png?w=2500&fit=max&auto=format&n=-b7nPh0oyigf6iW7&q=85&s=bf725eff7901d4bc16840999e9e04e3a 2500w`})}),`
`,_jsxs(Accordion,{title:`Expand to copy variation message`,id:`expand-to-copy-variation-message`,children:[_jsx(_components.p,{children:`Here’s the variation message for this example. You can copy this if you’re working through this quickstart in your own project:`}),_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Example instructions`,lines:`true`,wrap:`true`,numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`You are a helpful weather assistant. Use the get_weather tool to look up`})}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`current conditions for any location the user asks about, then answer`})}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`concisely in plain language.`})}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})})]}),`
`]}),`
`,_jsxs(_components.li,{children:[`
`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Review and save`}),`.`]}),`
`]}),`
`]}),`
`,_jsxs(_components.p,{children:[`To learn more about configuring agent variations, read `,_jsx(_components.a,{href:`/home/agentcontrol/agents`,children:`Agents`}),`.`]}),`
`,_jsx(Heading,{level:`2`,id:`step-4-set-up-targeting`,children:`Step 4: Set up targeting`}),`
`,_jsx(_components.p,{children:`LaunchDarkly automatically targets the variation you create as the default rule across all environments, so your config is already active. When your application calls the SDK, LaunchDarkly evaluates the targeting rules and returns the variation you configured.`}),`
`,_jsxs(_components.p,{children:[`When you add more variations later, come back to this step and set up additional targeting rules. If you are familiar with LaunchDarkly flag targeting, the process is very similar: with AgentControl, you can target individuals or segments, or target contexts with custom rules. To learn how, read `,_jsx(_components.a,{href:`/home/agentcontrol/target`,children:`Config targeting`}),`.`]}),`
`,_jsx(_components.p,{children:`To change the default rule manually:`}),`
`,_jsxs(_components.ol,{children:[`
`,_jsxs(_components.li,{children:[`Select the `,_jsx(_components.strong,{children:`Targeting`}),` tab for your agent-based config.`]}),`
`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.strong,{children:`Default rule`}),` section, click `,_jsx(_components.strong,{children:`Edit`}),`.`]}),`
`,_jsx(_components.li,{children:`Set the default rule to serve your new variation.`}),`
`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Review and save`}),`.`]}),`
`]}),`
`,_jsx(Frame,{caption:`The Targeting tab for an agent-based config, showing the Default rule with the variation dropdown open.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/launchdarkly/YIC2H8XW-fomhquw/images/__LD_UI_no_test/ai-configs-quickstart-targeting.png?fit=max&auto=format&n=YIC2H8XW-fomhquw&q=85&s=32ef22d2a8a8736caeda884e09404f03`,alt:`The Targeting tab for an agent-based config, showing the Default rule with the variation dropdown open.`,"data-og-width":`1024`,width:`1024`,"data-og-height":`461`,height:`461`,"data-path":`images/__LD_UI_no_test/ai-configs-quickstart-targeting.png`,"data-optimize":`true`,"data-opv":`3`,srcset:`https://mintcdn.com/launchdarkly/YIC2H8XW-fomhquw/images/__LD_UI_no_test/ai-configs-quickstart-targeting.png?w=280&fit=max&auto=format&n=YIC2H8XW-fomhquw&q=85&s=e1ffeb75b4b3dba6806bf973e1963203 280w, https://mintcdn.com/launchdarkly/YIC2H8XW-fomhquw/images/__LD_UI_no_test/ai-configs-quickstart-targeting.png?w=560&fit=max&auto=format&n=YIC2H8XW-fomhquw&q=85&s=ad3c2bf45397bfc190b57193f5620b47 560w, https://mintcdn.com/launchdarkly/YIC2H8XW-fomhquw/images/__LD_UI_no_test/ai-configs-quickstart-targeting.png?w=840&fit=max&auto=format&n=YIC2H8XW-fomhquw&q=85&s=563c604a801106f73b4f676a68825030 840w, https://mintcdn.com/launchdarkly/YIC2H8XW-fomhquw/images/__LD_UI_no_test/ai-configs-quickstart-targeting.png?w=1100&fit=max&auto=format&n=YIC2H8XW-fomhquw&q=85&s=680cbf3a3ddb599dad46d44774bb32ba 1100w, https://mintcdn.com/launchdarkly/YIC2H8XW-fomhquw/images/__LD_UI_no_test/ai-configs-quickstart-targeting.png?w=1650&fit=max&auto=format&n=YIC2H8XW-fomhquw&q=85&s=a604282c0c2abcf7e23e205f5aced851 1650w, https://mintcdn.com/launchdarkly/YIC2H8XW-fomhquw/images/__LD_UI_no_test/ai-configs-quickstart-targeting.png?w=2500&fit=max&auto=format&n=YIC2H8XW-fomhquw&q=85&s=6ff81e53173b0a1d6b015ceb05467602 2500w`})}),`
`,_jsxs(_components.p,{children:[`To learn more, read `,_jsx(_components.a,{href:`/home/agentcontrol/target`,children:`Config targeting`}),`.`]}),`
`,_jsx(Heading,{level:`2`,id:`step-5-use-the-agent-based-config-with-your-agent-framework`,children:`Step 5: Use the agent-based config with your agent framework`}),`
`,_jsxs(_components.p,{children:[`First, retrieve the agent-based config in your application. Replace `,_jsx(_components.code,{children:`your-agent-config-key`}),` with config `,_jsx(_components.strong,{children:`Key`}),` you saved in `,_jsx(_components.a,{href:`#step-3-create-an-agent-based-config-in-launchdarkly`,children:`Step 3`}),`:`]}),`
`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Python`,lines:`true`,wrap:`true`,numberOfLines:`7`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` AIAgentConfigDefault`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` aiclient.agent_config(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`    "your-agent-config-key"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    context,`})}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    AIAgentConfigDefault(),`})}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})}),`
`]})})})}),`
`,_jsxs(_components.p,{children:[`Next, pass the model name and instructions from `,_jsx(_components.code,{children:`config`}),` into your agent framework. The example below uses LangChain:`]}),`
`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`LangChain`,lines:`true`,wrap:`true`,expandable:`true`,numberOfLines:`18`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` AIAgentConfig`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` langchain.agents `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` create_agent`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` langchain.messages `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` HumanMessage`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,"--shiki-dark":`#DCDCAA`},children:` handle_agent_call_langchain`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    config`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: AIAgentConfig,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    user_input`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`:`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model.get_parameter(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"name"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` "anthropic:claude-sonnet-4-5"`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    agent `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` create_agent(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        model`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`model,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        system_prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config.instructions,`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    )`})}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    response `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` agent.invoke({`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"messages"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: [HumanMessage(user_input)]})`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    return`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` response[`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"messages"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`][`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`].content`})]}),`
`]})})})}),`
`,_jsx(_components.p,{children:`Finally, run the agent:`}),`
`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Python`,lines:`true`,wrap:`true`,numberOfLines:`5`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` handle_agent_call_langchain(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`    config`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`    user_input`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"Hello, what can you help me with?"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(response)`})]}),`
`]})})})}),`
`,_jsxs(_components.p,{children:[`For an equivalent setup with the OpenAI Agents SDK, Strands, or the Claude Agent SDK, read `,_jsx(_components.a,{href:`#example-code`,children:`Example code`}),`.`]}),`
`,_jsx(Heading,{level:`2`,id:`step-6-make-a-change-without-redeploying`,children:`Step 6: Make a change without redeploying`}),`
`,_jsx(_components.p,{children:`One of the key benefits of AgentControl is that you can update your model or prompt at any time without redeploying your application.`}),`
`,_jsx(_components.p,{children:`To update without redeploying:`}),`
`,_jsxs(_components.ol,{children:[`
`,_jsxs(_components.li,{children:[`Select the `,_jsx(_components.strong,{children:`Variations`}),` tab for your agent-based config.`]}),`
`,_jsx(_components.li,{children:`Open your variation and change the model, model provider, or instructions.`}),`
`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Review and save`}),`.`]}),`
`]}),`
`,_jsx(_components.p,{children:`LaunchDarkly immediately serves the updated configuration to your application. The next time your application calls the SDK, it receives the new model and instructions without needing to redeploy.`}),`
`,_jsx(Heading,{level:`2`,id:`step-7-monitor-the-agent-based-config`,children:`Step 7: Monitor the agent-based config`}),`
`,_jsxs(_components.p,{children:[`In the config page, click the `,_jsx(_components.strong,{children:`Monitoring`}),` tab. When end users use your application, LaunchDarkly monitors config performance. Metrics update approximately every minute.`]}),`
`,_jsxs(_components.p,{children:[`To learn more, read `,_jsx(_components.a,{href:`/home/agentcontrol/monitor`,children:`Monitor config performance`}),`.`]}),`
`,_jsx(Heading,{level:`2`,id:`summary`,children:`Summary`}),`
`,_jsx(_components.p,{children:`Congratulations! You now have an agent-based config that can:`}),`
`,_jsxs(_components.ul,{children:[`
`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Load model and instructions from LaunchDarkly`}),` at runtime, so your app doesn’t hard-code either`]}),`
`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Change in production without redeploying`}),`, by editing the variation in LaunchDarkly`]}),`
`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Keep a full version history`}),` of every change to prompts and model settings`]}),`
`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Report cost, token usage, and error rates`}),` on the `,_jsx(_components.strong,{children:`Monitoring`}),` tab as real traffic flows through`]}),`
`]}),`
`,_jsx(_components.p,{children:`From here, add a judge, run evals, log traces, and explore the managed AI SDKs.`}),`
`,_jsx(Heading,{level:`2`,id:`example-code`,children:`Example code`}),`
`,_jsx(_components.p,{children:`This section shows an end-to-end code sample with different frameworks and model providers.`}),`
`,_jsx(Accordion,{title:`Expand to show example code`,id:`expand-to-show-example-code`,children:_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`OpenAI Agents SDK`,lines:`true`,wrap:`true`,expandable:`true`,numberOfLines:`30`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`30`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Config`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai.client `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` AIAgentConfig, AIAgentConfigDefault`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` agents `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Agent`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` agents.run `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Runner`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`ldclient.set_config(Config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"YOUR_SDK_KEY"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`))`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`aiclient `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient(ldclient.get())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`context `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.Context.create(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"user-123"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` aiclient.agent_config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`'your-agent-config-key'`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`, context, AIAgentConfigDefault())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`tracker `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.tracker`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,"--shiki-dark":`#DCDCAA`},children:` handle_agent_call_openai`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    name`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    config`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: AIAgentConfig,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    user_input`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`:`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model.get_parameter(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"name"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` "gpt-5"`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    root `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Agent(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        name`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`name,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        instructions`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config.instructions,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        handoffs`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`[],`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        tools`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`[],`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        model`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`model,`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    )`})}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    response `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Runner.run(root, user_input)`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    return`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` response.final_output`})]}),`
`]})})}),_jsx(CodeBlock,{filename:`Strands`,lines:`true`,wrap:`true`,expandable:`true`,numberOfLines:`30`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`30`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Config`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai.client `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` AIAgentConfig, AIAgentConfigDefault`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` strands `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Agent`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` strands.models.openai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` OpenAIModel`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`ldclient.set_config(Config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"YOUR_SDK_KEY"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`))`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`aiclient `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient(ldclient.get())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`context `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.Context.create(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"user-123"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` aiclient.agent_config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`'your-agent-config-key'`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`, context, AIAgentConfigDefault())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`tracker `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.tracker`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,"--shiki-dark":`#DCDCAA`},children:` handle_agent_call_strands`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    config`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: AIAgentConfig,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    user_input`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`:`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model.get_parameter(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"name"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` "gpt-5"`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    params `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model.get_parameter(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"params"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` {}`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    openai_connector `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` OpenAIModel(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        model_id`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`model,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        params`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`params `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` params `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` {},`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    )`})}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    agent `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Agent(`}),_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`system_prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config.instructions, `}),_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`model`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`openai_connector, `}),_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`callback_handler`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#569CD6`},children:`None`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    response `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` agent(user_input)`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    return`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:` str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(response)`})]}),`
`]})})}),_jsx(CodeBlock,{filename:`LangChain`,lines:`true`,wrap:`true`,expandable:`true`,numberOfLines:`28`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Config`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai.client `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` AIAgentConfig, AIAgentConfigDefault`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` langchain.agents `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` create_agent`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` langchain.messages `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` HumanMessage`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`ldclient.set_config(Config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"YOUR_SDK_KEY"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`))`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`aiclient `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient(ldclient.get())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`context `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.Context.create(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"user-123"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` aiclient.agent_config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`'your-agent-config-key'`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`, context, AIAgentConfigDefault())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`tracker `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.tracker`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,"--shiki-dark":`#DCDCAA`},children:` handle_agent_call_langchain`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    config`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: AIAgentConfig,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    user_input`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`:`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model.get_parameter(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"name"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` "anthropic:claude-sonnet-4-5"`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    agent `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` create_agent(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        model`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`model,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        system_prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config.instructions,`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    )`})}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    response `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` agent.invoke({`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"messages"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: [HumanMessage(user_input)]})`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    return`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` response[`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"messages"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`][`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`].content`})]}),`
`]})})}),_jsx(CodeBlock,{filename:`Claude`,lines:`true`,wrap:`true`,expandable:`true`,numberOfLines:`35`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,"--shiki-dark-bg":`#0B0C0E`,color:`#1f2328`,"--shiki-dark":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`35`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` Config`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai.client `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldai `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` AIAgentConfig, AIAgentConfigDefault`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` claude_agent_sdk `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` query, ClaudeAgentOptions`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` claude_agent_sdk.types `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ResultMessage`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`ldclient.set_config(Config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"YOUR_SDK_KEY"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`))`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`aiclient `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` LDAIClient(ldclient.get())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`context `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` ldclient.Context.create(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"user-123"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` aiclient.agent_config(`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`'your-agent-config-key'`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`, context, AIAgentConfigDefault())`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`tracker `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.tracker`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,"--shiki-dark":`#DCDCAA`},children:` handle_agent_call_claude`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    config`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: AIAgentConfig,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#9CDCFE`},children:`    user_input`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`:`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model.name `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` config.model `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` "claude-opus-4-5-20251101"`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    final_message `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#569CD6`},children:` None`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    async`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:` for`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` message `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` query(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`user_input,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`        options`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`ClaudeAgentOptions(`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`            system_prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`config.instructions `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`or`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` ""`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`,`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,"--shiki-dark":`#9CDCFE`},children:`            model`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`model,`})]}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`        ),`})}),`
`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`    ):`})}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`        final_message `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` message`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    if`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:` not`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#DCDCAA`},children:` isinstance`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(final_message, ResultMessage):`})]}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`        raise`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:` ValueError`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"Unexpected final message type: `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#0550AE`,"--shiki-dark":`#4EC9B0`},children:`type`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`(final_message)`}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:`"`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:`)`})]}),`
`,_jsx(_components.span,{className:`line`}),`
`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#C586C0`},children:`    return`}),_jsx(_components.span,{style:{color:`#1F2328`,"--shiki-dark":`#D4D4D4`},children:` final_message.result `}),_jsx(_components.span,{style:{color:`#CF222E`,"--shiki-dark":`#569CD6`},children:`or`}),_jsx(_components.span,{style:{color:`#0A3069`,"--shiki-dark":`#CE9178`},children:` ""`})]}),`
`]})})})]})}),`
`,_jsxs(_components.p,{children:[`Evaluation results appear on the `,_jsx(_components.strong,{children:`Monitoring`}),` tab as metrics such as accuracy, relevance, and toxicity.`]}),`
`,_jsxs(_components.p,{children:[`To learn more about evaluation patterns and programmatic usage, read `,_jsx(_components.a,{href:`/home/agentcontrol/online-evaluations`,children:`Online evaluations`}),`.`]}),`
`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`
`,_jsx(_components.p,{children:`Now that you have a working config and can read its evaluation results, you can continue to build complexity on that config or create another to do something else.`}),`
`,_jsx(_components.p,{children:`Here are some options:`}),`
`,_jsxs(_components.ul,{children:[`
`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/home/agentcontrol/online-evaluations`,children:`Add a judge to your agent`})}),`
`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/home/agentcontrol/online-evaluations`,children:`Run your first eval`})}),`
`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/home/agentcontrol/create-model-config`,children:`Create and manage AI model configurations`})}),`
`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/home/agentcontrol/monitor`,children:`View your monitoring data`})}),`
`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/home/agentcontrol/monitor`,children:`Log traces`})}),`
`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/sdk/ai`,children:`Explore our AI SDKs`})}),`
`]}),`
`,_jsx(Heading,{level:`2`,id:`learn-more-about-agentcontrol`,children:`Learn more about AgentControl`}),`
`,_jsx(_components.p,{children:`The following sections provide answers to common questions about working with AgentControl.`}),`
`,_jsx(Heading,{level:`3`,id:`integration-with-ai-providers`,children:`Integration with AI providers`}),`
`,_jsx(_components.p,{children:`In AgentControl, LaunchDarkly does not handle the integration to the AI provider. The LaunchDarkly AI SDKs provide your application with model configuration details for providers and frameworks such as OpenAI, Amazon Bedrock, and LangChain, including customized messages and model parameters such as temperature and tokens. It is your application’s responsibility to pass this information to the AI provider or framework.`}),`
`,_jsxs(_components.p,{children:[`The LaunchDarkly AI SDKs provide methods to help you track how your AI model generation is performing, and in some cases, these methods take the completion from common AI providers as a parameter. However, it is still your application’s responsibility to call the AI provider. To learn more, read `,_jsx(_components.a,{href:`/sdk/features/ai-metrics`,children:`Tracking AI metrics`}),`.`]}),`
`,_jsxs(_components.p,{children:[`To request a new model, click the `,_jsx(_components.strong,{children:`Give feedback`}),` option and let us know what models you’d like to have included.`]}),`
`,_jsx(Heading,{level:`3`,id:`privacy-and-personally-identifiable-information-pii`,children:`Privacy and personally identifiable information (PII)`}),`
`,_jsx(_components.p,{children:`LaunchDarkly does not send any of the information you provide to any models, and does not use any of the information to fine tune any models.`}),`
`,_jsxs(_components.p,{children:[`You should follow your own organization’s policies regarding if or when it may be acceptable to send end-user data either to LaunchDarkly or to an AI provider. To learn more, read `,_jsx(_components.a,{href:`/home/agentcontrol/privacy`,children:`AgentControl and information privacy`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+" `"+id+"` to be defined: you likely forgot to import, pass, or provide it.")}54:["$","$L5b",null,{"slug":"home/agentcontrol/quickstart","pageMetadata":"$49:props:pageMetadata","theme":"aspen","children":["$","$L5c",null,{"mdxSource":{"compiledSource":"$5d","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Quickstart for AgentControl","og:description":"This topic explains how to get started with LaunchDarkly AgentControl to manage, deploy, and update agent configurations without redeploying your application.","keywords":["ai","agents"],"description":null,"href":"/home/agentcontrol/quickstart"}}},"mdxSourceWithNoJs":"$undefined","displayDomain":"launchdarkly.com/docs"}]}]
