apitestcenter 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/dist/THIRD-PARTY-NOTICES-UI.txt +3239 -0
- package/dist/THIRD-PARTY-NOTICES.txt +1149 -1
- package/dist/cli.mjs +89072 -49882
- package/dist/ui/404/index.html +1 -0
- package/dist/ui/404.html +1 -0
- package/dist/ui/__next.__PAGE__.txt +22 -0
- package/dist/ui/__next._full.txt +20 -0
- package/dist/ui/__next._tree.txt +6 -0
- package/dist/ui/_next/static/chunks/03vwb47zropf0.js +1 -0
- package/dist/ui/_next/static/chunks/065oy54s0-cwr.js +51 -0
- package/dist/ui/_next/static/chunks/08w_94tt7q8fk.js +1 -0
- package/dist/ui/_next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/dist/ui/_next/static/chunks/0dscs2dqej_33.css +3 -0
- package/dist/ui/_next/static/chunks/0ezgetg09gtvn.js +1 -0
- package/dist/ui/_next/static/chunks/0kfnlqyz56lid.js +2 -0
- package/dist/ui/_next/static/chunks/0mlyz754peers.js +1 -0
- package/dist/ui/_next/static/chunks/117zwf3ps9-d0.js +1 -0
- package/dist/ui/_next/static/chunks/12eajgls1n2zi.js +291 -0
- package/dist/ui/_next/static/chunks/13hazp8hyksry.js +59 -0
- package/dist/ui/_next/static/chunks/1l0uy37izo74u.js +22 -0
- package/dist/ui/_next/static/chunks/1s74dc_u9f8bv.js +1 -0
- package/dist/ui/_next/static/chunks/1tpf12evb0w6s.js +1 -0
- package/dist/ui/_next/static/chunks/202n35227m-qn.js +119 -0
- package/dist/ui/_next/static/chunks/37izghagcat04.js +1 -0
- package/dist/ui/_next/static/chunks/3eqn1h2-qx894.css +1 -0
- package/dist/ui/_next/static/chunks/3fb2986f7qg9x.js +1 -0
- package/dist/ui/_next/static/chunks/41ad2nnyaestx.js +31 -0
- package/dist/ui/_next/static/chunks/turbopack-2kiaj9_7vlslw.js +1 -0
- package/dist/ui/_next/static/media/02263ebadd758ea4-s.29yke99gs9qpn.woff2 +0 -0
- package/dist/ui/_next/static/media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2 +0 -0
- package/dist/ui/_next/static/media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2 +0 -0
- package/dist/ui/_next/static/media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2 +0 -0
- package/dist/ui/_next/static/media/57215795b8570f5c-s.2rixgazldzomk.woff2 +0 -0
- package/dist/ui/_next/static/media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2 +0 -0
- package/dist/ui/_next/static/media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2 +0 -0
- package/dist/ui/_next/static/media/68757d6cddeff913-s.1i-sca43-qwng.woff2 +0 -0
- package/dist/ui/_next/static/media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2 +0 -0
- package/dist/ui/_next/static/media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2 +0 -0
- package/dist/ui/_next/static/media/99e609270109b47d-s.p.40sczeszzbjw1.woff2 +0 -0
- package/dist/ui/_next/static/media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2 +0 -0
- package/dist/ui/_next/static/media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2 +0 -0
- package/dist/ui/_next/static/media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2 +0 -0
- package/dist/ui/_next/static/media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2 +0 -0
- package/dist/ui/_next/static/media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2 +0 -0
- package/dist/ui/_next/static/nzVJlcyPooozLLxcLfxub/_buildManifest.js +11 -0
- package/dist/ui/_next/static/nzVJlcyPooozLLxcLfxub/_clientMiddlewareManifest.js +1 -0
- package/dist/ui/_next/static/nzVJlcyPooozLLxcLfxub/_ssgManifest.js +1 -0
- package/dist/ui/_not-found/__next._full.txt +17 -0
- package/dist/ui/_not-found/__next._not-found.__PAGE__.txt +23 -0
- package/dist/ui/_not-found/__next._tree.txt +2 -0
- package/dist/ui/_not-found/index.html +1 -0
- package/dist/ui/_not-found/index.txt +17 -0
- package/dist/ui/compare/__next._full.txt +22 -0
- package/dist/ui/compare/__next._tree.txt +6 -0
- package/dist/ui/compare/__next.compare.__PAGE__.txt +25 -0
- package/dist/ui/compare/index.html +1 -0
- package/dist/ui/compare/index.txt +22 -0
- package/dist/ui/history/__next._full.txt +25 -0
- package/dist/ui/history/__next._tree.txt +6 -0
- package/dist/ui/history/__next.history.__PAGE__.txt +28 -0
- package/dist/ui/history/index.html +1 -0
- package/dist/ui/history/index.txt +25 -0
- package/dist/ui/index.html +1 -0
- package/dist/ui/index.txt +20 -0
- package/dist/ui/preview/__next._full.txt +25 -0
- package/dist/ui/preview/__next._tree.txt +6 -0
- package/dist/ui/preview/__next.preview.__PAGE__.txt +28 -0
- package/dist/ui/preview/index.html +1 -0
- package/dist/ui/preview/index.txt +25 -0
- package/dist/ui/suite/__next._full.txt +21 -0
- package/dist/ui/suite/__next._tree.txt +5 -0
- package/dist/ui/suite/__next.suite.__PAGE__.txt +24 -0
- package/dist/ui/suite/index.html +1 -0
- package/dist/ui/suite/index.txt +21 -0
- package/dist/ui/tests/__next._full.txt +21 -0
- package/dist/ui/tests/__next._tree.txt +5 -0
- package/dist/ui/tests/__next.tests.__PAGE__.txt +24 -0
- package/dist/ui/tests/index.html +1 -0
- package/dist/ui/tests/index.txt +21 -0
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="h-full ibm_plex_sans_324d14c7-module__gA-HIW__variable ibm_plex_mono_1876b2ed-module__4fpJGW__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0dscs2dqej_33.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/41ad2nnyaestx.js"/><script src="/_next/static/chunks/08w_94tt7q8fk.js" async=""></script><script src="/_next/static/chunks/0ezgetg09gtvn.js" async=""></script><script src="/_next/static/chunks/1l0uy37izo74u.js" async=""></script><script src="/_next/static/chunks/turbopack-2kiaj9_7vlslw.js" async=""></script><script src="/_next/static/chunks/1tpf12evb0w6s.js" async="" crossorigin=""></script><script src="/_next/static/chunks/12eajgls1n2zi.js" async="" crossorigin=""></script><script src="/_next/static/chunks/117zwf3ps9-d0.js" async="" crossorigin=""></script><meta name="robots" content="noindex"/><title>APITestCenter</title><meta name="description" content="HTTP API performance testing — configure, run, visualize, export."/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="h-full font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","apitestcenter-theme","system",null,["light","dark"],null,true,true)</script><div class="flex h-dvh overflow-hidden"><a href="#main" class="sr-only z-50 rounded-md bg-accent px-3 py-2 text-sm text-canvas focus:not-sr-only focus:fixed focus:top-2 focus:left-2">Skip to content</a><aside aria-label="Main navigation" class="flex h-full shrink-0 flex-col border-r border-line bg-panel transition-[width] duration-150 w-56"><div class="flex items-center border-b border-line justify-between gap-2 px-4 py-4"><a class="min-w-0" aria-label="APITestCenter home" href="/"><span class="block"><span class="block text-sm font-semibold text-ink">APITestCenter</span><span class="block text-xs text-mute">API & performance lab</span></span></a><button type="button" aria-label="Collapse sidebar" aria-expanded="true" class="shrink-0 rounded-md p-1.5 text-mute hover:bg-panel-2 hover:text-ink"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div><nav class="flex flex-1 flex-col gap-0.5 p-3"><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg>Test API</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/suite/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list-checks" aria-hidden="true"><path d="m3 17 2 2 4-4"></path><path d="m3 7 2 2 4-4"></path><path d="M13 6h8"></path><path d="M13 12h8"></path><path d="M13 18h8"></path></svg>Run collection</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/compare/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-compare-arrows" aria-hidden="true"><circle cx="5" cy="6" r="3"></circle><path d="M12 6h5a2 2 0 0 1 2 2v7"></path><path d="m15 9-3-3 3-3"></path><circle cx="19" cy="18" r="3"></circle><path d="M12 18H7a2 2 0 0 1-2-2V9"></path><path d="m9 15 3 3-3 3"></path></svg>Compare</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/history/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-history" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path><path d="M12 7v5l4 2"></path></svg>History</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/preview/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-search" aria-hidden="true"><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"></path><path d="m9 18-1.5-1.5"></path><circle cx="5" cy="14" r="3"></circle></svg>Open report</a></nav><div class="space-y-3 border-t border-line p-4"><button type="button" data-tour="help" title="What the words mean, and the tour" aria-label="Help" class="flex w-full items-center rounded-md border border-line text-xs text-mute hover:border-accent hover:text-ink gap-2 px-2.5 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-question-mark" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg>Help · what words mean</button><button type="button" title="Command palette (Ctrl+K)" aria-label="Open command palette" class="flex w-full items-center rounded-md border border-line text-xs text-mute hover:border-accent hover:text-ink gap-2 px-2.5 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-command" aria-hidden="true"><path d="M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3"></path></svg>Commands <span class="kbd ml-auto">Ctrl K</span></button><div><div class="grid grid-cols-3 gap-1 rounded-md border border-line bg-panel-2 p-1" role="radiogroup" aria-label="Theme"><button type="button" role="radio" aria-checked="true" aria-label="System" disabled="" class="flex items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors bg-panel text-ink shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg><span>System</span></button><button type="button" role="radio" aria-checked="false" aria-label="Light" disabled="" class="flex items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors text-mute hover:text-ink"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><span>Light</span></button><button type="button" role="radio" aria-checked="false" aria-label="Dark" disabled="" class="flex items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors text-mute hover:text-ink"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span>Dark</span></button></div></div><div class="text-xs" role="status"><div class="flex items-center gap-2 text-ink"><span class="h-2 w-2 rounded-full bg-mute" aria-hidden="true"></span>Checking engine</div><div class="mt-1 text-xs leading-snug text-mute">…</div><button type="button" class="mt-1 text-xs text-mute hover:text-accent" title="Version, updates, and where your files are">Development build<!-- --> · About</button></div></div></aside><main id="main" class="flex min-h-0 min-w-0 flex-1 flex-col overflow-y-auto"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><div aria-live="polite" class="pointer-events-none fixed right-4 bottom-4 z-50 flex w-[min(24rem,calc(100vw-2rem))] flex-col gap-2"></div><script src="/_next/static/chunks/41ad2nnyaestx.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[87329,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"Providers\"]\n3:I[60459,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"AppShell\"]\n4:I[32428,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"default\"]\n5:I[48549,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"default\"]\n6:I[65709,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[65709,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"ViewportBoundary\"]\nc:I[65709,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"MetadataBoundary\"]\ne:I[49202,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0dscs2dqej_33.css\",\"style\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0dscs2dqej_33.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1tpf12evb0w6s.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/12eajgls1n2zi.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/117zwf3ps9-d0.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"h-full ibm_plex_sans_324d14c7-module__gA-HIW__variable ibm_plex_mono_1876b2ed-module__4fpJGW__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"h-full font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0dscs2dqej_33.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nzVJlcyPooozLLxcLfxub\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"APITestCenter\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"HTTP API performance testing — configure, run, visualize, export.\"}]]\n"])</script></body></html>
|
package/dist/ui/404.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="h-full ibm_plex_sans_324d14c7-module__gA-HIW__variable ibm_plex_mono_1876b2ed-module__4fpJGW__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0dscs2dqej_33.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/41ad2nnyaestx.js"/><script src="/_next/static/chunks/08w_94tt7q8fk.js" async=""></script><script src="/_next/static/chunks/0ezgetg09gtvn.js" async=""></script><script src="/_next/static/chunks/1l0uy37izo74u.js" async=""></script><script src="/_next/static/chunks/turbopack-2kiaj9_7vlslw.js" async=""></script><script src="/_next/static/chunks/1tpf12evb0w6s.js" async="" crossorigin=""></script><script src="/_next/static/chunks/12eajgls1n2zi.js" async="" crossorigin=""></script><script src="/_next/static/chunks/117zwf3ps9-d0.js" async="" crossorigin=""></script><meta name="robots" content="noindex"/><title>APITestCenter</title><meta name="description" content="HTTP API performance testing — configure, run, visualize, export."/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="h-full font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","apitestcenter-theme","system",null,["light","dark"],null,true,true)</script><div class="flex h-dvh overflow-hidden"><a href="#main" class="sr-only z-50 rounded-md bg-accent px-3 py-2 text-sm text-canvas focus:not-sr-only focus:fixed focus:top-2 focus:left-2">Skip to content</a><aside aria-label="Main navigation" class="flex h-full shrink-0 flex-col border-r border-line bg-panel transition-[width] duration-150 w-56"><div class="flex items-center border-b border-line justify-between gap-2 px-4 py-4"><a class="min-w-0" aria-label="APITestCenter home" href="/"><span class="block"><span class="block text-sm font-semibold text-ink">APITestCenter</span><span class="block text-xs text-mute">API & performance lab</span></span></a><button type="button" aria-label="Collapse sidebar" aria-expanded="true" class="shrink-0 rounded-md p-1.5 text-mute hover:bg-panel-2 hover:text-ink"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div><nav class="flex flex-1 flex-col gap-0.5 p-3"><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg>Test API</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/suite/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list-checks" aria-hidden="true"><path d="m3 17 2 2 4-4"></path><path d="m3 7 2 2 4-4"></path><path d="M13 6h8"></path><path d="M13 12h8"></path><path d="M13 18h8"></path></svg>Run collection</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/compare/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-compare-arrows" aria-hidden="true"><circle cx="5" cy="6" r="3"></circle><path d="M12 6h5a2 2 0 0 1 2 2v7"></path><path d="m15 9-3-3 3-3"></path><circle cx="19" cy="18" r="3"></circle><path d="M12 18H7a2 2 0 0 1-2-2V9"></path><path d="m9 15 3 3-3 3"></path></svg>Compare</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/history/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-history" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path><path d="M12 7v5l4 2"></path></svg>History</a><a class="flex items-center rounded-md text-sm transition-colors gap-2.5 px-3 py-2 text-mute hover:bg-panel-2 hover:text-ink" href="/preview/"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-search" aria-hidden="true"><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"></path><path d="m9 18-1.5-1.5"></path><circle cx="5" cy="14" r="3"></circle></svg>Open report</a></nav><div class="space-y-3 border-t border-line p-4"><button type="button" data-tour="help" title="What the words mean, and the tour" aria-label="Help" class="flex w-full items-center rounded-md border border-line text-xs text-mute hover:border-accent hover:text-ink gap-2 px-2.5 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-question-mark" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg>Help · what words mean</button><button type="button" title="Command palette (Ctrl+K)" aria-label="Open command palette" class="flex w-full items-center rounded-md border border-line text-xs text-mute hover:border-accent hover:text-ink gap-2 px-2.5 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-command" aria-hidden="true"><path d="M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3"></path></svg>Commands <span class="kbd ml-auto">Ctrl K</span></button><div><div class="grid grid-cols-3 gap-1 rounded-md border border-line bg-panel-2 p-1" role="radiogroup" aria-label="Theme"><button type="button" role="radio" aria-checked="true" aria-label="System" disabled="" class="flex items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors bg-panel text-ink shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg><span>System</span></button><button type="button" role="radio" aria-checked="false" aria-label="Light" disabled="" class="flex items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors text-mute hover:text-ink"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><span>Light</span></button><button type="button" role="radio" aria-checked="false" aria-label="Dark" disabled="" class="flex items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors text-mute hover:text-ink"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span>Dark</span></button></div></div><div class="text-xs" role="status"><div class="flex items-center gap-2 text-ink"><span class="h-2 w-2 rounded-full bg-mute" aria-hidden="true"></span>Checking engine</div><div class="mt-1 text-xs leading-snug text-mute">…</div><button type="button" class="mt-1 text-xs text-mute hover:text-accent" title="Version, updates, and where your files are">Development build<!-- --> · About</button></div></div></aside><main id="main" class="flex min-h-0 min-w-0 flex-1 flex-col overflow-y-auto"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><div aria-live="polite" class="pointer-events-none fixed right-4 bottom-4 z-50 flex w-[min(24rem,calc(100vw-2rem))] flex-col gap-2"></div><script src="/_next/static/chunks/41ad2nnyaestx.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[87329,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"Providers\"]\n3:I[60459,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"AppShell\"]\n4:I[32428,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"default\"]\n5:I[48549,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"default\"]\n6:I[65709,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[65709,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"ViewportBoundary\"]\nc:I[65709,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"MetadataBoundary\"]\ne:I[49202,[\"/_next/static/chunks/1tpf12evb0w6s.js\",\"/_next/static/chunks/12eajgls1n2zi.js\",\"/_next/static/chunks/117zwf3ps9-d0.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0dscs2dqej_33.css\",\"style\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0dscs2dqej_33.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1tpf12evb0w6s.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/12eajgls1n2zi.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/117zwf3ps9-d0.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"h-full ibm_plex_sans_324d14c7-module__gA-HIW__variable ibm_plex_mono_1876b2ed-module__4fpJGW__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"h-full font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0dscs2dqej_33.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nzVJlcyPooozLLxcLfxub\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"APITestCenter\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"HTTP API performance testing — configure, run, visualize, export.\"}]]\n"])</script></body></html>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[6980,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js","/_next/static/chunks/0kfnlqyz56lid.js","/_next/static/chunks/13hazp8hyksry.js","/_next/static/chunks/03vwb47zropf0.js"],"LabPage"]
|
|
3
|
+
3:I[65709,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"OutletBoundary"]
|
|
4
|
+
4:"$Sreact.suspense"
|
|
5
|
+
8:I[65709,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"ViewportBoundary"]
|
|
6
|
+
9:I[65709,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"MetadataBoundary"]
|
|
7
|
+
b:I[87329,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"Providers"]
|
|
8
|
+
c:I[60459,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"AppShell"]
|
|
9
|
+
d:I[32428,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"default"]
|
|
10
|
+
e:I[48549,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"default"]
|
|
11
|
+
:HL["/_next/static/chunks/3eqn1h2-qx894.css","style"]
|
|
12
|
+
:HL["/_next/static/chunks/0dscs2dqej_33.css","style"]
|
|
13
|
+
7:X
|
|
14
|
+
0:{"buildId":"nzVJlcyPooozLLxcLfxub","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3eqn1h2-qx894.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0kfnlqyz56lid.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13hazp8hyksry.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/03vwb47zropf0.js","async":true}]],["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":"$@6","staleTime":"$7","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L8",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"APITestCenter"}],["$","meta","1",{"name":"description","content":"HTTP API performance testing — configure, run, visualize, export."}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@a","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0dscs2dqej_33.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/1tpf12evb0w6s.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/12eajgls1n2zi.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/117zwf3ps9-d0.js","async":true}]],["$","html",null,{"lang":"en","className":"h-full ibm_plex_sans_324d14c7-module__gA-HIW__variable ibm_plex_mono_1876b2ed-module__4fpJGW__variable","suppressHydrationWarning":true,"children":["$","body",null,{"className":"h-full font-sans antialiased","children":["$","$Lb",null,{"children":["$","$Lc",null,{"children":["$","$Ld",null,{"parallelRouterKey":"children","template":["$","$Le",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]}]]}],"isPartial":"$@f","staleTime":"$7","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@10","rootVaryParams":null,"needsRuntimeRequest":"$@11"}
|
|
15
|
+
5:null
|
|
16
|
+
7:300
|
|
17
|
+
11:true
|
|
18
|
+
7:C
|
|
19
|
+
10:0
|
|
20
|
+
a:"$undefined"
|
|
21
|
+
f:"$undefined"
|
|
22
|
+
6:"$undefined"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[87329,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"Providers"]
|
|
3
|
+
3:I[60459,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"AppShell"]
|
|
4
|
+
4:I[32428,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"default"]
|
|
5
|
+
5:I[48549,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"default"]
|
|
6
|
+
6:I[6980,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js","/_next/static/chunks/0kfnlqyz56lid.js","/_next/static/chunks/13hazp8hyksry.js","/_next/static/chunks/03vwb47zropf0.js"],"LabPage"]
|
|
7
|
+
7:I[65709,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"OutletBoundary"]
|
|
8
|
+
8:"$Sreact.suspense"
|
|
9
|
+
a:I[65709,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"ViewportBoundary"]
|
|
10
|
+
c:I[65709,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"MetadataBoundary"]
|
|
11
|
+
e:I[49202,["/_next/static/chunks/1tpf12evb0w6s.js","/_next/static/chunks/12eajgls1n2zi.js","/_next/static/chunks/117zwf3ps9-d0.js"],"default",1]
|
|
12
|
+
:HL["/_next/static/chunks/0dscs2dqej_33.css","style"]
|
|
13
|
+
:HL["/_next/static/media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
14
|
+
:HL["/_next/static/media/99e609270109b47d-s.p.40sczeszzbjw1.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
15
|
+
:HL["/_next/static/media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
16
|
+
:HL["/_next/static/chunks/3eqn1h2-qx894.css","style"]
|
|
17
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0dscs2dqej_33.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/1tpf12evb0w6s.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/12eajgls1n2zi.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/117zwf3ps9-d0.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"h-full ibm_plex_sans_324d14c7-module__gA-HIW__variable ibm_plex_mono_1876b2ed-module__4fpJGW__variable","suppressHydrationWarning":true,"children":["$","body",null,{"className":"h-full font-sans antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3eqn1h2-qx894.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0kfnlqyz56lid.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13hazp8hyksry.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/03vwb47zropf0.js","async":true,"nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$La",null,{"children":"$Lb"}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$Ld"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$e",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0dscs2dqej_33.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"nzVJlcyPooozLLxcLfxub"}
|
|
18
|
+
b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
19
|
+
9:null
|
|
20
|
+
d:[["$","title","0",{"children":"APITestCenter"}],["$","meta","1",{"name":"description","content":"HTTP API performance testing — configure, run, visualize, export."}]]
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
:HL["/_next/static/chunks/0dscs2dqej_33.css","style"]
|
|
2
|
+
:HL["/_next/static/media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
|
+
:HL["/_next/static/media/99e609270109b47d-s.p.40sczeszzbjw1.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
4
|
+
:HL["/_next/static/media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
5
|
+
:HL["/_next/static/chunks/3eqn1h2-qx894.css","style"]
|
|
6
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}},"staleTime":300,"buildId":"nzVJlcyPooozLLxcLfxub"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63343,13318,42674,31753,80707,44794,60566,e=>{"use strict";var t=e.i(61666);e.i(24856);var a=e.i(59100),s=e.i(71189),n=e.i(87283),l=e.i(83067),r=e.i(22543),i=e.i(43514),o=e.i(78451),c=e.i(99112),d=e.i(67938),u=e.i(28867),m=e.i(6278);let x=[{value:"json",label:"JSON field",placeholder:"data.access_token",hint:"Path in the JSON answer, like data.items[0].id"},{value:"header",label:"Header",placeholder:"X-Request-Id",hint:"A response header name"},{value:"body",label:"Text pattern",placeholder:"token=(\\w+)",hint:"A regular expression; the part in ( ) is kept"}];function h({rules:e,onChange:a,results:s,showUnused:l}){let r=(t,s)=>a(e.map((e,a)=>a===t?{...e,...s}:e));return(0,t.jsx)("ul",{className:"space-y-2",children:e.map((i,o)=>{let c=x.find(e=>e.value===i.from),d=s.get(i.name);return(0,t.jsxs)("li",{className:"flex flex-wrap items-center gap-2 rounded-md border border-line bg-panel px-2.5 py-2",children:[(0,t.jsx)("span",{className:"text-xs text-mute",children:"Save"}),(0,t.jsx)("select",{value:i.from,onChange:e=>r(o,{from:e.target.value}),className:"input w-auto py-1","aria-label":"Where the value is",children:x.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))}),(0,t.jsx)("input",{value:i.path,onChange:e=>r(o,{path:e.target.value}),placeholder:c.placeholder,title:c.hint,"aria-label":c.hint,className:"input min-w-40 flex-1 py-1 font-mono text-xs"}),(0,t.jsx)("span",{className:"text-xs text-mute",children:"as"}),(0,t.jsxs)("span",{className:"inline-flex items-center font-mono text-xs text-mute",children:["{{",(0,t.jsx)("input",{value:i.name,onChange:e=>r(o,{name:e.target.value.replace(/[^\w.-]/g,"")}),"aria-label":"Variable name",className:"input mx-0.5 w-28 py-1 font-mono text-xs"}),"}}"]}),(0,t.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:[d?d.found?(0,t.jsxs)("span",{className:"text-xs text-ok",title:"Found on the last Send",children:["✓ ",d.preview]}):(0,t.jsx)("span",{className:"text-xs text-bad",title:"Not found on the last Send",children:"✕ not found"}):l&&!l.has(i.name)&&i.name?(0,t.jsx)("span",{className:"text-xs text-warn",children:"not used yet"}):null,(0,t.jsx)("button",{type:"button",onClick:()=>a(e.filter((e,t)=>t!==o)),className:"rounded p-1 text-mute hover:text-bad","aria-label":`Remove {{${i.name}}}`,children:(0,t.jsx)(n.X,{size:14})})]})]},o)})})}function p({draft:e,onChange:a,results:n}){let l=e.saveValues,r=t=>a({...e,saveValues:t}),i=new Map((n??[]).map(e=>[e.name,e]));return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("p",{className:"text-sm text-mute",children:["Take values from this answer for the requests after it — like the id of a new order, used by “Get order” as ",(0,t.jsx)(f,{name:"orderId"}),"."]}),l.length?(0,t.jsx)(h,{rules:l,onChange:r,results:i}):null,(0,t.jsxs)("button",{type:"button",onClick:()=>r([...l,{name:l.length?`value${l.length+1}`:"id",from:"json",path:l.length?"":"id"}]),className:"inline-flex items-center gap-1 rounded-md border border-line px-2.5 py-1 text-xs text-ink hover:border-accent",children:[(0,t.jsx)(s.Plus,{size:13,"aria-hidden":!0})," Add a value"]}),(0,t.jsxs)("ul",{className:"list-disc space-y-1 pl-5 text-xs text-mute",children:[(0,t.jsxs)("li",{children:["In ",(0,t.jsx)("span",{className:"text-ink",children:"Run collection"}),", every request after this one can use them. Put this request first in the run order."]}),(0,t.jsx)("li",{children:"After a Send, they stay until you close the app, so the next request you send can use them too."}),(0,t.jsx)("li",{children:"A load test does not save values; it uses the ones saved by your last Send."})]})]})}function b(e){let t=[e.url,e.bodyText,e.token,e.username,e.password,e.apiName,e.apiValue,...e.params.flatMap(e=>[e.key,e.value]),...e.headers.map(e=>e.value)].join("\n");return new Set((0,o.findVariables)(t))}function f({name:e,used:a}){return(0,t.jsx)("code",{className:`rounded px-1.5 py-0.5 font-mono text-xs ${!1===a?"bg-warn/10 text-warn":"bg-accent-dim text-accent"}`,title:!1===a?"Not used in this request yet":void 0,children:`{{${e}}}`})}function v({draft:e,onChange:a,currentId:n,result:l}){let{index:r}=(0,m.useWorkspace)(),i=(r?.requests??[]).filter(e=>e.id!==n),o=e.before,c=b(e),d=t=>a({...e,before:t}),u=o?.extract??[],x=new Map((l?.values??[]).map(e=>[e.name,e]));return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("p",{className:"text-sm text-mute",children:["Send another saved request first — like signing in — and use values from its answer here. A sign-in token becomes"," ",(0,t.jsx)(f,{name:"token"}),", which you can put in Auth, a header, the URL, or the body."]}),(0,t.jsxs)("label",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,t.jsx)("span",{className:"text-ink",children:"First, send"}),(0,t.jsxs)("select",{value:o?.requestId??"",onChange:e=>(e=>{if(!e)return d(null);let t=i.find(t=>t.id===e);t&&d({requestId:t.id,requestName:t.name,extract:u.length?u:[{name:"token",from:"json",path:""}]})})(e.target.value),className:"input w-auto min-w-56 py-1","aria-label":"Saved request to send first",children:[(0,t.jsx)("option",{value:"",children:"Nothing — send this request on its own"}),i.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.collection?`${e.collection} / `:"",e.name," · ",e.method]},e.id))]}),o&&!i.some(e=>e.id===o.requestId)?(0,t.jsxs)("span",{className:"text-xs text-bad",children:["“",o.requestName,"” is no longer saved — pick another"]}):null]}),i.length?null:(0,t.jsxs)("p",{className:"rounded-md border border-dashed border-line px-3 py-2 text-xs text-mute",children:["No other saved requests yet. Open your sign-in request, press ",(0,t.jsx)("kbd",{className:"kbd",children:"Ctrl"})," + ",(0,t.jsx)("kbd",{className:"kbd",children:"S"})," to save it, then pick it here."]}),o?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h4",{className:"text-xs font-medium text-mute",children:"Values to take from its answer"}),(0,t.jsx)(h,{rules:u,onChange:e=>d({...o,extract:e}),results:x,showUnused:c}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>d({...o,extract:[...u,{name:`value${u.length+1}`,from:"json",path:""}]}),className:"inline-flex items-center gap-1 rounded-md border border-line px-2.5 py-1 text-xs text-ink hover:border-accent",children:[(0,t.jsx)(s.Plus,{size:13,"aria-hidden":!0})," Add a value"]}),u.some(e=>"token"===e.name)&&"none"===e.authMode?(0,t.jsxs)("button",{type:"button",onClick:()=>a({...e,authMode:"bearer",token:"{{token}}"}),className:"inline-flex items-center gap-1 rounded-md border border-accent/40 px-2.5 py-1 text-xs text-accent hover:bg-accent-dim",children:["Use ","{{token}}"," as the Bearer token"]}):null]}),l&&!l.ok&&l.error?(0,t.jsx)("p",{className:"text-xs text-bad",children:l.error}):null,(0,t.jsx)("p",{className:"text-xs text-mute",children:"Send runs it every time. A load test runs it once before starting, and every request uses the same values."})]}):null]})}let g=[{value:"sequential",label:"In order",title:"Request 1 uses row 1, request 2 uses row 2… then starts again"},{value:"random",label:"Random",title:"Each request picks a random row"},{value:"per-user",label:"One row per user",title:"Each simulated user keeps its own row — good for logins"}];function j({draft:e,onChange:a}){let s=(0,l.useRef)(null),[n,r]=(0,l.useState)([]),[i,o]=(0,l.useState)(null),m=e.testData,x=b(e),h=t=>a({...e,testData:t});async function p(t){if(o(null),r([]),t.size>5242880)return o(`${t.name} is ${(t.size/1024/1024).toFixed(1)} MB — the limit is 5 MB`);let a=(0,c.parseCsv)(await t.text());if(!a.columns.length)return o(`${t.name} is empty`);if(!a.rows.length)return o(`${t.name} has a header row but no data rows`);if(a.rows.length>1e5)return o(`${t.name} has ${a.rows.length.toLocaleString()} rows — the limit is 100,000`);let s=a.columns.find(t=>e.before?.extract.some(e=>e.name===t));if(s)return o(`The column “${s}” has the same name as a Run-first value — rename one of them`);r(a.problems),h({fileName:t.name,columns:a.columns,rows:a.rows,order:m?.order??"sequential"})}return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("p",{className:"text-sm text-mute",children:["Test with many users, IDs, or search terms. Each column in a CSV file becomes a variable such as ",(0,t.jsx)(f,{name:"email"}),", and each request uses the next row."]}),(0,t.jsx)("input",{ref:s,type:"file",accept:".csv,text/csv,text/plain",className:"sr-only","aria-label":"Choose a CSV file",onChange:e=>{let t=e.target.files?.[0];e.target.value="",t&&p(t)}}),m?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,t.jsx)("span",{className:"font-medium text-ink",children:m.fileName}),(0,t.jsxs)("span",{className:"text-mute",children:["· ",m.rows.length.toLocaleString()," rows"]}),(0,t.jsxs)("span",{className:"ml-auto flex gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>s.current?.click(),className:"rounded-md border border-line px-2.5 py-1 text-xs text-ink hover:border-accent",children:"Replace"}),(0,t.jsx)("button",{type:"button",onClick:()=>h(null),className:"rounded-md border border-line px-2.5 py-1 text-xs text-ink hover:border-bad hover:text-bad",children:"Remove"})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-xs text-mute",children:["Variables:",m.columns.map(e=>(0,t.jsx)(f,{name:e,used:x.has(e)},e))]}),m.columns.some(e=>!x.has(e))?(0,t.jsx)("p",{className:"text-xs text-warn",children:"Highlighted columns are not used in this request yet — type them into the URL, params, headers, or body."}):null,(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,t.jsx)("span",{className:"text-mute",children:"Which row each request uses"}),(0,t.jsx)(u.Segmented,{label:"Row order",value:m.order,options:g,onChange:e=>h({...m,order:e})})]}),(0,t.jsx)("div",{className:"overflow-x-auto rounded-md border border-line",children:(0,t.jsxs)("table",{className:"w-full text-left font-mono text-xs",children:[(0,t.jsxs)("caption",{className:"sr-only",children:["First rows of ",m.fileName]}),(0,t.jsx)("thead",{className:"bg-panel-2 text-mute",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{scope:"col",className:"px-2 py-1 font-normal",children:"#"}),m.columns.map(e=>(0,t.jsx)("th",{scope:"col",className:"px-2 py-1 font-normal",children:e},e))]})}),(0,t.jsx)("tbody",{children:m.rows.slice(0,5).map((e,a)=>(0,t.jsxs)("tr",{className:"border-t border-line",children:[(0,t.jsx)("td",{className:"px-2 py-1 text-mute",children:a+1}),e.map((e,a)=>(0,t.jsx)("td",{className:"max-w-48 truncate px-2 py-1 text-ink",title:e,children:e},a))]},a))})]})}),m.rows.length>5?(0,t.jsxs)("p",{className:"text-xs text-mute",children:["Showing 5 of ",m.rows.length.toLocaleString()," rows. Send uses row 1."]}):(0,t.jsx)("p",{className:"text-xs text-mute",children:"Send uses row 1."})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>s.current?.click(),onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault();let t=e.dataTransfer.files[0];t&&p(t)},className:"flex w-full flex-col items-center gap-1 rounded-lg border border-dashed border-line px-4 py-6 text-sm text-mute hover:border-accent hover:text-ink",children:[(0,t.jsx)(d.FileUp,{size:18,"aria-hidden":!0}),(0,t.jsx)("span",{className:"text-ink",children:"Choose a CSV file"}),(0,t.jsx)("span",{className:"text-xs",children:"or drop it here · first row is the column names · up to 5 MB"})]}),i?(0,t.jsx)("p",{className:"text-xs text-bad",children:i}):null,n.length?(0,t.jsx)("ul",{className:"list-disc space-y-0.5 pl-5 text-xs text-warn",children:n.map(e=>(0,t.jsx)("li",{children:e},e))}):null]})}var y=e.i(70632);let k=[{label:"Status",make:()=>({type:"status",expect:"2xx"})},{label:"JSON field",make:()=>({type:"json",path:"",op:"exists",value:""})},{label:"Body text",make:()=>({type:"body",op:"contains",value:""})},{label:"Header",make:()=>({type:"header",name:"content-type",op:"contains",value:"json"})},{label:"Response time",make:()=>({type:"time",maxMs:1e3})}],N={status:"Status",json:"JSON",body:"Body",header:"Header",time:"Time"};function w({checks:e,onChange:a,results:l}){let r=new Map((l??[]).map(e=>[e.name,e.ok]));return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("p",{className:"text-sm text-mute",children:["Checks decide whether a response is ",(0,t.jsx)("em",{children:"correct"}),", not just fast. A 200 with an error message inside fails a good check."]}),e.length>0?(0,t.jsx)("ul",{className:"space-y-2",children:e.map((s,l)=>{let i=r.get((0,y.checkLabel)(s));return(0,t.jsxs)("li",{className:"flex flex-wrap items-center gap-2 rounded-md border border-line bg-panel px-2.5 py-2",children:[(0,t.jsx)("span",{className:"w-14 shrink-0 text-xs font-medium text-mute",children:N[s.type]}),(0,t.jsx)(S,{check:s,onChange:t=>a(e.map((e,a)=>a===l?t:e))}),(0,t.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:[void 0===i?null:i?(0,t.jsx)("span",{className:"text-xs text-ok",title:"Passed on the last Send",children:"✓ pass"}):(0,t.jsx)("span",{className:"text-xs text-bad",title:"Failed on the last Send",children:"✕ fail"}),(0,t.jsx)("button",{type:"button","aria-label":`Remove check: ${(0,y.checkLabel)(s)}`,onClick:()=>a(e.filter((e,t)=>t!==l)),className:"rounded p-1 text-mute hover:text-bad",children:(0,t.jsx)(n.X,{size:14})})]})]},l)})}):(0,t.jsx)("p",{className:"rounded-md border border-dashed border-line px-3 py-3 text-sm text-mute",children:"No checks yet. Without checks, a load test only counts HTTP errors (4xx, 5xx, timeouts)."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-xs text-mute",children:"Add"}),k.map(n=>(0,t.jsxs)("button",{type:"button",disabled:e.length>=20,onClick:()=>a([...e,n.make()]),className:"inline-flex items-center gap-1 rounded-md border border-line px-2 py-1 text-xs text-ink hover:border-accent disabled:opacity-40",children:[(0,t.jsx)(s.Plus,{size:12,"aria-hidden":!0}),n.label]},n.label))]}),(0,t.jsxs)("p",{className:"text-xs text-mute",children:["JSON paths look like ",(0,t.jsx)("code",{className:"font-mono text-ink",children:"data.items[0].id"}),". Status accepts"," ",(0,t.jsx)("code",{className:"font-mono text-ink",children:"2xx"}),", ",(0,t.jsx)("code",{className:"font-mono text-ink",children:"200,201"}),", or"," ",(0,t.jsx)("code",{className:"font-mono text-ink",children:"200-299"}),"."]})]})}let C="rounded-md border border-line bg-panel-2 px-2 py-1 text-[13px] text-ink outline-none focus:border-accent";function S({check:e,onChange:a}){switch(e.type){case"status":return(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-mute",children:["is",(0,t.jsx)("input",{"aria-label":"Expected status",value:e.expect,onChange:t=>a({...e,expect:t.target.value}),placeholder:"2xx",className:`${C} w-32 font-mono`})]});case"time":return(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-mute",children:["within",(0,t.jsx)("input",{"aria-label":"Maximum response time in ms",type:"number",min:1,value:e.maxMs,onChange:t=>a({...e,maxMs:Math.max(1,Number(t.target.value)||1)}),className:`${C} w-24 font-mono`}),"ms"]});case"body":return(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,t.jsxs)("select",{"aria-label":"Body condition",value:e.op,onChange:t=>a({...e,op:t.target.value}),className:C,children:[(0,t.jsx)("option",{value:"contains",children:"contains"}),(0,t.jsx)("option",{value:"not_contains",children:"does not contain"})]}),(0,t.jsx)("input",{"aria-label":"Text",value:e.value,onChange:t=>a({...e,value:t.target.value}),placeholder:'"status":"ok"',className:`${C} min-w-0 flex-1 font-mono`})]});case"json":return(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,t.jsx)("input",{"aria-label":"JSON path",value:e.path,onChange:t=>a({...e,path:t.target.value}),placeholder:"data.id",className:`${C} w-40 font-mono`}),(0,t.jsxs)("select",{"aria-label":"JSON condition",value:e.op,onChange:t=>a({...e,op:t.target.value}),className:C,children:[(0,t.jsx)("option",{value:"exists",children:"exists"}),(0,t.jsx)("option",{value:"equals",children:"equals"}),(0,t.jsx)("option",{value:"not_equals",children:"does not equal"}),(0,t.jsx)("option",{value:"contains",children:"contains"})]}),"exists"!==e.op?(0,t.jsx)("input",{"aria-label":"Expected value",value:e.value,onChange:t=>a({...e,value:t.target.value}),placeholder:"ok",className:`${C} min-w-0 flex-1 font-mono`}):null]});case"header":return(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,t.jsx)("input",{"aria-label":"Header name",value:e.name,onChange:t=>a({...e,name:t.target.value}),placeholder:"content-type",className:`${C} w-36 font-mono`}),(0,t.jsxs)("select",{"aria-label":"Header condition",value:e.op,onChange:t=>a({...e,op:t.target.value}),className:C,children:[(0,t.jsx)("option",{value:"exists",children:"exists"}),(0,t.jsx)("option",{value:"equals",children:"equals"}),(0,t.jsx)("option",{value:"contains",children:"contains"})]}),"exists"!==e.op?(0,t.jsx)("input",{"aria-label":"Expected value",value:e.value,onChange:t=>a({...e,value:t.target.value}),className:`${C} min-w-0 flex-1 font-mono`}):null]})}}function $({rows:e,onChange:a,keyPlaceholder:s,valuePlaceholder:l,noun:r,secretValues:i=!1}){let o=[...e,{key:"",value:""}];function c(e,t){let s=o.map((a,s)=>s===e?{...a,...t}:a);a(s.filter((e,t)=>t<s.length-1||e.key||e.value))}return(0,t.jsxs)("div",{className:"overflow-hidden rounded-md border border-line",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[minmax(0,2fr)_minmax(0,3fr)_2rem] bg-panel-2 text-xs text-mute",children:[(0,t.jsx)("span",{className:"px-2.5 py-1.5",children:s}),(0,t.jsx)("span",{className:"border-l border-line px-2.5 py-1.5",children:l}),(0,t.jsx)("span",{})]}),o.map((s,l)=>{let d=l===o.length-1;return(0,t.jsxs)("div",{className:"group grid grid-cols-[minmax(0,2fr)_minmax(0,3fr)_2rem] border-t border-line",children:[(0,t.jsx)("input",{value:s.key,"aria-label":`${r} ${l+1} name`,placeholder:d?`Add ${r}`:"",onChange:e=>c(l,{key:e.target.value}),className:"min-w-0 bg-transparent px-2.5 py-1.5 font-mono text-[13px] text-ink outline-none placeholder:text-mute focus:bg-panel-2"}),(0,t.jsx)("input",{value:s.value,type:i?"password":"text","aria-label":`${r} ${l+1} value`,onChange:e=>c(l,{value:e.target.value}),className:"min-w-0 border-l border-line bg-transparent px-2.5 py-1.5 font-mono text-[13px] text-ink outline-none focus:bg-panel-2"}),d?(0,t.jsx)("span",{}):(0,t.jsx)("button",{type:"button","aria-label":`Remove ${r} ${s.key||l+1}`,onClick:()=>a(e.filter((e,t)=>t!==l)),className:"grid place-items-center text-mute opacity-60 group-hover:opacity-100 hover:text-bad focus:opacity-100",children:(0,t.jsx)(n.X,{size:14})})]},l)})]})}function E({id:e,items:a,value:s,onChange:n,label:r,trailing:i,className:o=""}){let c=(0,l.useRef)([]);return(0,t.jsxs)("div",{className:`flex items-end gap-2 border-b border-line ${o}`,children:[(0,t.jsx)("div",{role:"tablist","aria-label":r,className:"-mb-px flex min-w-0 flex-1 flex-wrap gap-x-1",children:a.map((l,r)=>{let i=l.id===s;return(0,t.jsxs)("button",{ref:e=>{c.current[r]=e},id:`${e}-tab-${l.id}`,type:"button",role:"tab","aria-selected":i,"aria-controls":`${e}-panel-${l.id}`,tabIndex:i?0:-1,onClick:()=>n(l.id),onKeyDown:e=>{let t;return t=-1,void("ArrowRight"===e.key&&(t=(r+1)%a.length),"ArrowLeft"===e.key&&(t=(r-1+a.length)%a.length),"Home"===e.key&&(t=0),"End"===e.key&&(t=a.length-1),!(t<0)&&(e.preventDefault(),n(a[t].id),c.current[t]?.focus()))},className:`flex shrink-0 items-center gap-1.5 border-b-2 px-2 py-2 text-sm transition-colors ${i?"border-accent text-ink":"border-transparent text-mute hover:text-ink"}`,children:[l.label,null!=l.badge&&!1!==l.badge?(0,t.jsx)("span",{className:"rounded bg-panel-2 px-1.5 font-mono text-xs text-mute",children:l.badge}):null]},l.id)})}),i?(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2 pb-1.5",children:i}):null]})}function M(e,t){return{role:"tabpanel",id:`${e}-panel-${t}`,"aria-labelledby":`${e}-tab-${t}`}}e.s(["Tabs",0,E,"tabPanelProps",0,M],13318);var q=e.i(5305);function R(e){return"api_key"===e?"key":e}function T({tab:e,draft:s,onChange:n,patch:l}){return"params"===e?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)($,{rows:s.params,onChange:e=>n((0,q.withParts)(s,{params:e})),keyPlaceholder:"Query parameter",valuePlaceholder:"Value",noun:"parameter"}),(0,t.jsxs)("details",{className:"group rounded-md border border-line",children:[(0,t.jsx)("summary",{className:"cursor-pointer px-3 py-2 text-sm text-mute hover:text-ink",children:"Edit origin and path separately"}),(0,t.jsxs)("div",{className:"grid gap-3 border-t border-line p-3 sm:grid-cols-2",children:[(0,t.jsx)(P,{label:"Base URL",value:s.baseUrl,placeholder:"https://api.example.com",onChange:e=>n((0,q.withParts)(s,{baseUrl:e}))}),(0,t.jsx)(P,{label:"Path",value:s.endpoint,placeholder:"/v1/orders",onChange:e=>n((0,q.withParts)(s,{endpoint:e}))})]})]})]}):"headers"===e?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)($,{rows:s.headers,onChange:e=>l({headers:e}),keyPlaceholder:"Header",valuePlaceholder:"Value",noun:"header"}),(0,t.jsxs)("p",{className:"text-xs text-mute",children:["Credentials belong in ",(0,t.jsx)("span",{className:"text-ink",children:"Auth"})," — they are masked there and never exported."]})]}):"auth"===e?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(u.Segmented,{label:"Auth type",value:s.authMode,onChange:e=>l({authMode:e}),options:[{value:"none",label:"None"},{value:"bearer",label:"Bearer token"},{value:"basic",label:"Basic"},{value:"api_key",label:"API key"}]}),"none"===s.authMode?(0,t.jsx)("p",{className:"text-sm text-mute",children:"No credentials are sent."}):null,"bearer"===s.authMode?(0,t.jsx)(P,{label:"Token",secret:!0,mono:!0,value:s.token,placeholder:"eyJhbGciOi…",onChange:e=>l({token:(0,a.normalizeBearerToken)(e)}),hint:'Paste with or without the "Bearer " prefix.'}):null,"basic"===s.authMode?(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsx)(P,{label:"Username",value:s.username,onChange:e=>l({username:e})}),(0,t.jsx)(P,{label:"Password",secret:!0,value:s.password,onChange:e=>l({password:e})})]}):null,"api_key"===s.authMode?(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,1fr)_minmax(0,2fr)_auto]",children:[(0,t.jsx)(P,{label:"Name",mono:!0,value:s.apiName,onChange:e=>l({apiName:e})}),(0,t.jsx)(P,{label:"Value",secret:!0,mono:!0,value:s.apiValue,onChange:e=>l({apiValue:e})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"mb-1 block text-xs text-mute",children:"Send in"}),(0,t.jsx)(u.Segmented,{label:"Send API key in",value:s.apiIn,onChange:e=>l({apiIn:e}),options:[{value:"header",label:"Header"},{value:"query",label:"Query"}]})]})]}):null,"none"!==s.authMode?(0,t.jsx)("p",{className:"text-xs text-mute",children:"Kept in this browser tab only. Exports record the auth type, never the secret."}):null]}):"body"===e?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)(u.Segmented,{label:"Body type",value:s.bodyMode,onChange:e=>l({bodyMode:e}),options:[{value:"none",label:"None"},{value:"json",label:"JSON"},{value:"text",label:"Text"}]}),"json"===s.bodyMode?(0,t.jsx)("button",{type:"button",className:"text-xs text-accent hover:underline",onClick:()=>l({bodyText:function(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}(s.bodyText)}),children:"Format JSON"}):null]}),"none"!==s.bodyMode?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("textarea",{value:s.bodyText,"aria-label":"Request body",spellCheck:!1,onChange:e=>l({bodyText:e.target.value}),rows:12,className:"input font-mono text-[13px] leading-5",placeholder:"json"===s.bodyMode?'{\n "id": 1\n}':"raw body"}),"json"===s.bodyMode?(0,t.jsx)(D,{text:s.bodyText}):null]}):(0,t.jsx)("p",{className:"text-sm text-mute",children:"No body is sent."})]}):(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsx)(P,{label:"Timeout",mono:!0,value:s.timeout,error:(0,q.durationError)(s.timeout,!1),onChange:e=>l({timeout:e}),hint:"Per request, e.g. 30s or 2m."}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-xs text-mute",children:"Max redirects"}),(0,t.jsx)("input",{type:"number",min:0,max:20,value:s.maxRedirects,onChange:e=>l({maxRedirects:Number(e.target.value)}),className:"input font-mono"})]}),(0,t.jsx)(L,{checked:s.connectionReuse,onChange:e=>l({connectionReuse:e}),label:"Reuse TCP connections",hint:"On mirrors a real client with keep-alive. Off makes every request pay DNS, TCP, and TLS again."}),(0,t.jsx)(L,{checked:s.tlsSkip,onChange:e=>l({tlsSkip:e}),label:"Skip TLS certificate check",hint:"Only for self-signed lab certificates. Never use it to hide a real certificate problem."})]})}function D({text:e}){if(!e.trim())return(0,t.jsxs)("p",{className:"text-xs text-mute",children:["Empty body sends ","{}","."]});try{return JSON.parse(e),(0,t.jsx)("p",{className:"text-xs text-ok",children:"Valid JSON"})}catch(e){return(0,t.jsx)("p",{className:"text-xs text-bad",children:e instanceof Error?e.message:"Invalid JSON"})}}function P({label:e,value:a,onChange:s,placeholder:n,hint:r,secret:i=!1,mono:o=!1,type:c="text",error:d}){let[u,m]=(0,l.useState)(!1);return(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-xs text-mute",children:e}),(0,t.jsxs)("span",{className:"relative block",children:[(0,t.jsx)("input",{type:i&&!u?"password":c,autoComplete:"off",spellCheck:!1,value:a,placeholder:n,"aria-invalid":!!d||void 0,onChange:e=>s(e.target.value),className:`input ${o?"font-mono":""} ${i?"pr-14":""} ${d?"border-bad":""}`}),i?(0,t.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),m(e=>!e)},className:"absolute inset-y-0 right-1 my-1 rounded px-2 text-xs text-mute hover:text-ink",children:u?"Hide":"Show"}):null]}),d?(0,t.jsx)("span",{className:"mt-1 block text-xs text-bad",children:d}):r?(0,t.jsx)("span",{className:"mt-1 block text-xs text-mute",children:r}):null]})}function L({checked:e,onChange:a,label:s,hint:n}){return(0,t.jsxs)("label",{className:"flex items-start gap-2 rounded-md border border-line px-3 py-2.5 text-sm text-ink",children:[(0,t.jsx)("input",{type:"checkbox",checked:e,onChange:e=>a(e.target.checked),className:"mt-0.5 accent-[var(--accent)]"}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[s,n?(0,t.jsx)(r.Hint,{text:n,label:`About ${s}`}):null]})]})}e.s([],42674),e.s(["LabeledInput",0,P,"RequestEditor",0,function({id:e,draft:a,onChange:s,extraTabs:n=[],checkResults:r,currentId:o,setupResult:c,savedResults:d}){var u,m;let[x,h]=(0,l.useState)("params"),b=(0,q.draftCounts)(a),f=e=>s({...a,...e}),g=[{id:"params",label:"Params",badge:b.params||void 0},{id:"headers",label:"Headers",badge:b.headers||void 0},{id:"auth",label:b.auth?(0,t.jsxs)("span",{title:`Auth: ${R(a.authMode)}`,children:["Auth ",(0,t.jsx)("span",{className:"text-ok","aria-label":`(${R(a.authMode)})`,children:"●"})]}):"Auth"},...(0,q.hasBody)(a.method)?[{id:"body",label:"Body",badge:b.body?a.bodyMode:void 0}]:[],{id:"checks",label:"Checks",badge:function(e,a){if(!e)return;if(!a||0===a.length)return e;let s=a.filter(e=>e.ok).length;return(0,t.jsxs)("span",{className:s===a.length?"text-ok":"text-bad",title:`${s} of ${a.length} passed on the last Send`,children:[s,"/",a.length]})}(b.checks,r)},{id:"save",label:(0,t.jsx)("span",{title:"Take values from this answer, like an order id, for the requests after it",children:"Save values"}),badge:b.saveValues?function(e,a){if(!a?.length)return e;let s=a.filter(e=>e.found).length;return(0,t.jsxs)("span",{className:s===a.length?"text-ok":"text-bad",title:`${s} of ${a.length} found on the last Send`,children:[s,"/",a.length]})}(b.saveValues,d):void 0},{id:"before",label:(0,t.jsx)("span",{title:"Send a saved request first, like signing in, and use values from its answer",children:"Run first"}),badge:b.before?(u=c)?u.ok?(0,t.jsx)("span",{className:"text-ok",title:"Worked on the last Send",children:"✓"}):(0,t.jsx)("span",{className:"text-bad",title:u.error,children:"✕"}):"on":void 0},{id:"data",label:(0,t.jsx)("span",{title:"Use rows from a CSV file as variables",children:"Test data"}),badge:b.testData?(m=b.testData)>=1e3?`${Math.round(m/100)/10}k rows`:`${m} row${1===m?"":"s"}`:void 0},...n.map(e=>({id:e.id,label:e.label,badge:e.badge})),{id:"settings",label:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",title:"Timeout, redirects, connections, TLS",children:[(0,t.jsx)(i.Settings2,{size:14,"aria-hidden":!0}),"Settings"]})}],y=g.some(e=>e.id===x)?x:"params",k=n.find(e=>e.id===y);return(0,t.jsxs)("div",{children:[(0,t.jsx)(E,{id:e,label:"Request settings",items:g,value:y,onChange:h}),(0,t.jsx)("div",{...M(e,y),className:"pt-4",children:k?k.content:"checks"===y?(0,t.jsx)(w,{checks:a.checks,onChange:e=>f({checks:e}),results:r}):"save"===y?(0,t.jsx)(p,{draft:a,onChange:s,results:d}):"before"===y?(0,t.jsx)(v,{draft:a,onChange:s,currentId:o,result:c}):"data"===y?(0,t.jsx)(j,{draft:a,onChange:s}):(0,t.jsx)(T,{tab:y,draft:a,onChange:s,patch:f})})]})}],31753);let O={smoke:"2 users for 30s. Proves the endpoint works under a little concurrency.",average:"10 users for 5m. Typical day-to-day traffic.",stress:"Ramp to 20 users, hold 1m, ramp down. Looks for the breaking point.",spike:"5 users, a sudden jump to 50, then back to 5. Does it survive the burst and recover?",soak:"10 users for 30m. Finds memory leaks and slow degradation that short tests miss.",custom:"Your own numbers."};function z({label:e,value:a,min:s,max:n,onChange:l,hint:i}){return(0,t.jsxs)("label",{className:"block",children:[(0,t.jsxs)("span",{className:"mb-1 flex items-center gap-1 text-xs text-mute",children:[e,i?(0,t.jsx)(r.Hint,{label:`About ${e}`,text:i}):null]}),(0,t.jsx)("input",{type:"number",min:s,max:n,value:a,onChange:e=>l(U(e.target.value,s,n)),className:"input font-mono"})]})}function A({stages:e,unit:a,rate:l,onChange:r}){let i=(t,a)=>r(e.map((e,s)=>s===t?{...e,...a}:e));return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs text-mute",children:"Each stage moves linearly to its target over its duration. Hold steady by repeating the same target."}),(0,t.jsxs)("div",{className:"overflow-hidden rounded-md border border-line",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_minmax(0,1fr)_2rem] bg-panel-2 text-xs text-mute",children:[(0,t.jsx)("span",{className:"px-2 py-1.5",children:"#"}),(0,t.jsx)("span",{className:"border-l border-line px-2 py-1.5",children:"Duration"}),(0,t.jsxs)("span",{className:"border-l border-line px-2 py-1.5",children:["Target (",a,")"]}),(0,t.jsx)("span",{})]}),e.map((a,s)=>{let o=(0,q.durationError)(a.duration,!1);return(0,t.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_minmax(0,1fr)_2rem] border-t border-line",children:[(0,t.jsx)("span",{className:"px-2 py-1.5 font-mono text-xs text-mute",children:s+1}),(0,t.jsx)("input",{"aria-label":`Stage ${s+1} duration`,"aria-invalid":!!o||void 0,title:o,value:a.duration,onChange:e=>i(s,{duration:e.target.value}),className:`min-w-0 border-l border-line bg-transparent px-2 py-1.5 font-mono text-[13px] outline-none focus:bg-panel-2 ${o?"text-bad":"text-ink"}`}),(0,t.jsx)("input",{"aria-label":`Stage ${s+1} target`,type:"number",min:0,max:l?1e5:500,value:a.target,onChange:e=>i(s,{target:U(e.target.value,0,l?1e5:500)}),className:"min-w-0 border-l border-line bg-transparent px-2 py-1.5 font-mono text-[13px] text-ink outline-none focus:bg-panel-2"}),(0,t.jsx)("button",{type:"button","aria-label":`Remove stage ${s+1}`,disabled:e.length<=1,onClick:()=>r(e.filter((e,t)=>t!==s)),className:"grid place-items-center text-mute hover:text-bad disabled:opacity-30",children:(0,t.jsx)(n.X,{size:13})})]},s)})]}),(0,t.jsxs)("button",{type:"button",disabled:e.length>=20,onClick:()=>r([...e,{duration:"30s",target:e[e.length-1]?.target??1}]),className:"inline-flex items-center gap-1 text-xs text-accent hover:underline disabled:opacity-40",children:[(0,t.jsx)(s.Plus,{size:12,"aria-hidden":!0})," Add stage"]})]})}function U(e,t,a){let s=Math.round(Number(e));return Number.isFinite(s)?Math.min(a,Math.max(t,s)):t}function I(e){let t="rate"===e.mode;if(e.stages&&e.stages.length){let t=[[0,0]],s=0;for(let n of e.stages)s+=(0,a.durationToMs)(n.duration),t.push([s,n.target]);return{points:t,totalMs:s,peak:Math.max(0,...e.stages.map(e=>e.target))}}let s=t?e.rps??20:e.vus,n=(0,a.durationToMs)(e.rampUp),l=(0,a.durationToMs)(e.duration),r=(0,a.durationToMs)(e.rampDown);return{points:[[0,n>0?0:s],[n,s],[n+l,s],[n+l+r,r>0?0:s]],totalMs:n+l+r,peak:s}}function V(e){let{totalMs:t,peak:a}=I(e),s="rate"===e.mode?"req/s":1===a?"VU":"VUs";return`${e.stages?.length?"peak ":""}${a.toLocaleString()} ${s} \xb7 ${H(t)}`}function H(e){let t=Math.round(e/1e3);if(t<60)return`${t}s`;let a=Math.floor(t/60);return a<60?t%60?`${a}m ${t%60}s`:`${a}m`:`${Math.floor(a/60)}h ${a%60}m`}function _({load:e}){let{points:a,totalMs:s,peak:n}=I(e),l=a.map(([e,t])=>`${e/Math.max(s,1)*300},${56-t/Math.max(n,1)*50}`).join(" "),r=`0,56 ${l} 300,56`;return(0,t.jsxs)("figure",{className:"rounded-md border border-line bg-panel-2 px-3 py-2",children:[(0,t.jsxs)("figcaption",{className:"mb-1 flex justify-between text-xs text-mute",children:[(0,t.jsx)("span",{children:"Planned load"}),(0,t.jsx)("span",{className:"font-mono text-ink",children:V(e)})]}),(0,t.jsxs)("svg",{viewBox:"0 0 300 56",preserveAspectRatio:"none",className:"h-14 w-full",role:"img","aria-label":`Load profile: ${V(e)}`,children:[(0,t.jsx)("polygon",{points:r,fill:"var(--series-1)",fillOpacity:.15}),(0,t.jsx)("polyline",{points:l,fill:"none",stroke:"var(--series-1)",strokeWidth:2,vectorEffect:"non-scaling-stroke"})]}),(0,t.jsxs)("div",{className:"mt-1 flex justify-between font-mono text-[11px] text-mute",children:[(0,t.jsx)("span",{children:"0s"}),(0,t.jsx)("span",{children:"rate"===e.mode?"requests per second":"simulated users"}),(0,t.jsx)("span",{children:H(s)})]})]})}e.s(["LoadEditor",0,function({load:e,onChange:s}){let[n,i]=(0,l.useState)(!1),o=t=>s({...e,...t,preset:"custom"}),c="rate"===e.mode,d=!!(e.stages&&e.stages.length);return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(u.Segmented,{label:"Load preset",value:e.preset,onChange:t=>s((0,q.applyPreset)(e,t)),options:[{value:"smoke",label:"Smoke"},{value:"average",label:"Average"},{value:"stress",label:"Stress"},{value:"spike",label:"Spike"},{value:"soak",label:"Soak"},{value:"custom",label:"Custom"}]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-mute",children:O[e.preset]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("span",{className:"mb-1 flex items-center gap-1 text-xs text-mute",children:["Drive load by",(0,t.jsx)(r.Hint,{label:"About users vs rate",text:"Simulated users (VUs): N clients each send, wait for the answer, and send again — a slow API gets fewer requests. Requests per second: k6 holds the rate whatever the API does — the honest way to test capacity."})]}),(0,t.jsx)(u.Segmented,{label:"Drive load by",value:e.mode??"users",onChange:e=>o({mode:e}),options:[{value:"users",label:"Simulated users"},{value:"rate",label:"Requests per second"}]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"mb-1 block text-xs text-mute",children:"Shape"}),(0,t.jsx)(u.Segmented,{label:"Load shape",value:d?"stages":"simple",onChange:function(t){if("simple"===t)return o({stages:null});let s=c?e.rps??20:e.vus,n=[];(0,a.durationToMs)(e.rampUp)>0&&n.push({duration:e.rampUp,target:s}),n.push({duration:e.duration,target:s}),(0,a.durationToMs)(e.rampDown)>0&&n.push({duration:e.rampDown,target:0}),o({stages:n})},options:[{value:"simple",label:"Ramp · hold · down"},{value:"stages",label:"Step by step"}]})]})]}),d?(0,t.jsx)(A,{stages:e.stages,unit:c?"req/s":"VUs",rate:c,onChange:e=>o({stages:e})}):(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-4",children:[c?(0,t.jsx)(z,{label:"Requests / second",value:e.rps??20,min:1,max:1e5,onChange:e=>o({rps:e})}):(0,t.jsx)(z,{label:"Simulated users",hint:"Concurrent clients running from this computer. 50+ will load both the API and this machine.",value:e.vus,min:1,max:500,onChange:e=>o({vus:e})}),(0,t.jsx)(P,{label:"Hold for",mono:!0,value:e.duration,error:(0,q.durationError)(e.duration,!1),onChange:e=>o({duration:e})}),(0,t.jsx)(P,{label:"Ramp up",mono:!0,value:e.rampUp,error:(0,q.durationError)(e.rampUp),onChange:e=>o({rampUp:e})}),(0,t.jsx)(P,{label:"Ramp down",mono:!0,value:e.rampDown,error:(0,q.durationError)(e.rampDown),onChange:e=>o({rampDown:e})})]}),c?(0,t.jsx)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-4",children:(0,t.jsx)(z,{label:"Max simulated users",hint:"k6 starts more VUs when responses slow down, up to this ceiling. If it runs out, requests are dropped and the report says how many.",value:e.maxVus??100,min:1,max:2e3,onChange:e=>o({maxVus:e})})}):null,(0,t.jsx)(_,{load:e}),(0,t.jsx)("button",{type:"button",className:"text-xs text-accent hover:underline",onClick:()=>i(e=>!e),"aria-expanded":n,children:n?"Hide pacing options":"Pacing options"}),n?(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[c?(0,t.jsx)("p",{className:"text-xs text-mute sm:col-span-2",children:"Think time does not apply when holding a request rate — k6 paces the requests itself."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{label:"Think time (ms)",value:e.thinkTimeMs,min:0,max:6e5,onChange:e=>o({thinkTimeMs:e})}),(0,t.jsx)(z,{label:"Random extra (ms)",value:e.thinkJitterMs,min:0,max:6e5,onChange:e=>o({thinkJitterMs:e})})]}),(0,t.jsx)(P,{label:"Graceful stop",mono:!0,value:e.gracefulStop,error:(0,q.durationError)(e.gracefulStop),onChange:e=>o({gracefulStop:e}),hint:"Time in-flight requests get to finish."})]}):null]})},"profileSummary",0,V],63343);var B=e.i(1675),W=e.i(95486),F=e.i(60961),J=e.i(65296);function K({value:e,options:a,groups:s=[],onChange:n,onOpen:r,label:i,className:o="",buttonContent:c,minWidth:d=180,disabled:u=!1}){let[m,x]=(0,l.useState)(!1),[h,p]=(0,l.useState)(0),[b,f]=(0,l.useState)(new Set),[v,g]=(0,l.useState)(null),j=(0,l.useRef)(null),y=(0,l.useRef)(null),k=(0,l.useId)(),N=a.find(t=>t.value===e),w=[],C=new Set;a.forEach((e,t)=>{let a=e.group?s.find(t=>t.id===e.group):void 0;a&&!C.has(a.id)&&(C.add(a.id),w.push({kind:"group",group:a})),(!a||b.has(a.id))&&w.push({kind:"option",index:t})}),(0,l.useLayoutEffect)(()=>{if(!m)return;let e=()=>{let e=j.current?.getBoundingClientRect();if(!e)return;let t=Math.max(e.width,d),a=y.current?.offsetHeight??260,s=window.innerHeight-e.bottom-8,n=e.top-8,l=s<Math.min(a,200)&&n>s;g({left:Math.min(Math.max(8,e.left),window.innerWidth-t-8),top:l?Math.max(8,e.top-Math.min(a,n)-4):e.bottom+4,width:t,maxHeight:Math.max(140,(l?n:s)-4)})};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[m,d,w.length]),(0,l.useEffect)(()=>{if(!m)return;let e=e=>{let t=e.target;y.current?.contains(t)||j.current?.contains(t)||x(!1)},t=e=>{y.current?.contains(e.target)||x(!1)};return document.addEventListener("pointerdown",e,!0),document.addEventListener("scroll",t,!0),()=>{document.removeEventListener("pointerdown",e,!0),document.removeEventListener("scroll",t,!0)}},[m]),(0,l.useEffect)(()=>{m&&y.current?.querySelector(`[data-index="${h}"]`)?.scrollIntoView({block:"nearest"})},[m,h]);let S=()=>{let t=new Set(s.filter(e=>e.defaultOpen).map(e=>e.id));N?.group&&t.add(N.group),f(t);let n=0,l=0,i=new Set;for(let r of a){let a=r.group&&s.some(e=>e.id===r.group)?r.group:void 0;a&&!i.has(a)&&(i.add(a),l++),(!a||t.has(a))&&(r.value===e&&(n=l),l++)}p(n),x(!0),r?.()},$=(e,t)=>f(a=>{let s=new Set(a);return t??!s.has(e.id)?s.add(e.id):s.delete(e.id),s}),E=e=>{let t=w[e];if(!t)return;if("group"===t.kind)return $(t.group);let s=a[t.index];s&&n(s.value),x(!1),j.current?.focus()},M=e=>{if("group"===e.kind)return e.group.text.toLowerCase();let t=a[e.index];return(t.text??("string"==typeof t.label?t.label:String(t.value))).toLowerCase()};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{ref:j,type:"button",disabled:u,role:"combobox","aria-label":i,"aria-haspopup":"listbox","aria-expanded":m,"aria-controls":m?k:void 0,"aria-activedescendant":m?`${k}-${h}`:void 0,onClick:()=>m?x(!1):S(),onKeyDown:function(e){if(u)return;if(!m){["ArrowDown","ArrowUp","Enter"," "].includes(e.key)&&(e.preventDefault(),S());return}let t=w[h];if("Escape"===e.key||"Tab"===e.key)"Escape"===e.key&&e.preventDefault(),x(!1);else if("ArrowDown"===e.key)e.preventDefault(),p(e=>Math.min(w.length-1,e+1));else if("ArrowUp"===e.key)e.preventDefault(),p(e=>Math.max(0,e-1));else if("Home"===e.key||"End"===e.key)e.preventDefault(),p("Home"===e.key?0:w.length-1);else if("ArrowRight"===e.key&&t?.kind==="group")e.preventDefault(),$(t.group,!0);else if("ArrowLeft"===e.key&&t){e.preventDefault();let s="group"===t.kind?t.group.id:a[t.index].group,n=w.findIndex(e=>"group"===e.kind&&e.group.id===s);if(n<0)return;p(n),$(w[n].group,!1)}else if("Enter"===e.key||" "===e.key)e.preventDefault(),E(h);else if(1===e.key.length){let t=e.key.toLowerCase(),a=w.findIndex((e,a)=>a>h&&M(e).startsWith(t)),s=a>=0?a:w.findIndex(e=>M(e).startsWith(t));s>=0&&p(s)}},className:`inline-flex min-w-0 items-center gap-1.5 whitespace-nowrap disabled:opacity-50 ${o}`,children:[(0,t.jsx)("span",{className:"min-w-0 truncate",children:c??N?.label}),(0,t.jsx)(W.ChevronDown,{size:14,"aria-hidden":!0,className:`shrink-0 text-mute transition-transform ${m?"rotate-180":""}`})]}),m&&"u">typeof document?(0,J.createPortal)((0,t.jsx)("ul",{ref:y,id:k,role:"listbox","aria-label":i,style:{top:v?.top??-9999,left:v?.left??-9999,minWidth:v?.width,maxHeight:v?.maxHeight},className:"fixed z-[80] max-w-[min(32rem,calc(100vw-16px))] overflow-auto rounded-lg border border-line bg-panel p-1 shadow-2xl",children:w.map((s,n)=>{if("group"===s.kind){let e=s.group,a=b.has(e.id);return(0,t.jsxs)("li",{id:`${k}-${n}`,"data-index":n,role:"option","aria-selected":!1,"aria-expanded":a,onPointerEnter:()=>p(n),onPointerDown:e=>e.preventDefault(),onClick:()=>$(e),className:`flex cursor-pointer items-center gap-2 rounded-md px-2.5 py-1.5 text-xs font-medium text-mute ${n===h?"bg-panel-2":""} ${n>0?"mt-0.5":""}`,children:[(0,t.jsx)(F.ChevronRight,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform ${a?"rotate-90":""}`}),(0,t.jsx)("span",{className:"min-w-0 truncate text-ink",children:e.label}),e.hint?(0,t.jsx)("span",{className:"shrink-0 font-normal",children:e.hint}):null,e.action?(0,t.jsx)("button",{type:"button",title:e.action.title,onClick:t=>{t.stopPropagation(),x(!1),e.action.onClick()},className:"ml-auto shrink-0 rounded px-1 font-normal text-accent hover:underline",children:e.action.label}):null]},`g:${e.id}`)}let l=a[s.index];return(0,t.jsxs)("li",{id:`${k}-${n}`,"data-index":n,role:"option","aria-selected":l.value===e,onPointerEnter:()=>p(n),onPointerDown:e=>e.preventDefault(),onClick:()=>E(n),className:`flex cursor-pointer items-start gap-2 rounded-md py-1.5 pr-2.5 text-sm ${l.group?"pl-6":"pl-2.5"} ${n===h?"bg-panel-2":""} ${l.className??"text-ink"}`,children:[(0,t.jsx)(B.Check,{size:14,"aria-hidden":!0,className:`mt-0.5 shrink-0 ${l.value===e?"text-accent":"invisible"}`}),l.inline?(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 items-baseline gap-4",children:[(0,t.jsx)("span",{className:"shrink-0",children:l.label}),l.hint?(0,t.jsx)("span",{className:"ml-auto min-w-0 truncate text-xs text-mute",children:l.hint}):null]}):(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block truncate",children:l.label}),l.hint?(0,t.jsx)("span",{className:"block truncate text-xs text-mute",children:l.hint}):null]})]},l.value)})}),document.body):null]})}e.s(["Select",0,K],80707);let X=null,G=null,Z=new Set;function Q(){return G??=fetch("/engine/local-servers",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(e=>(e&&(X=e.servers),X)).catch(()=>X).finally(()=>{G=null,Z.forEach(e=>e())}),Z.forEach(e=>e()),G}let Y=/^\{\{\s*([A-Za-z_][\w.-]*)\s*\}\}/,ee=/^(https?):\/\/(localhost|127\.0\.0\.1)(?::(\d{1,5}))?(?=[/?#]|$)/i,et="\0none",ea="\0local-other",es="apitestcenter-local-ports",en={GET:"text-ok",POST:"text-warn",PUT:"text-accent",PATCH:"text-accent",DELETE:"text-bad",HEAD:"text-mute",OPTIONS:"text-mute"};function el(){try{let e=JSON.parse(localStorage.getItem(es)??"[]");return(Array.isArray(e)?e.filter(e=>Number.isInteger(e)&&e>0&&e<65536):[]).slice(0,5)}catch{return[]}}function er(e){try{localStorage.setItem(es,JSON.stringify([e,...el().filter(t=>t!==e)].slice(0,5)))}catch{}}let ei=(0,l.forwardRef)(function({draft:e,onChange:a,onImported:s,actions:r},i){let{vars:o,environments:c,activeEnv:d}=(0,m.useWorkspace)(),[u,x]=(0,l.useState)([]),[h,p]=(0,l.useState)(null),b=(0,l.useRef)(null);(0,l.useEffect)(()=>x(el()),[]),(0,l.useEffect)(()=>{h&&b.current?.focus()},[h]);let f=e.url,v=Y.exec(f)?.[1],g=Object.entries(o).filter(([e,t])=>/^https?:\/\//i.test(t.trim())&&("practiceApi"!==e||v===e)),j=(()=>{let e=Y.exec(f);if(e&&g.some(([t])=>t===e[1]))return{prefix:e[0],text:`{{${e[1]}}}`,value:e[1]};let t=ee.exec(f);if(t){let e=t[1].toLowerCase(),a=t[3]??("https"===e?"443":"80");return{prefix:t[0],text:`${t[2]}${t[3]?`:${t[3]}`:""}`,value:`local:${e}:${a}`}}return null})(),y=f.startsWith("/"),k=y||""===f||null!=j,N=function(e){let[,t]=(0,l.useState)(0);(0,l.useEffect)(()=>{let e=()=>t(e=>e+1);return Z.add(e),()=>void Z.delete(e)},[]),(0,l.useEffect)(()=>{e&&null==X&&!G&&Q()},[e]);let a=(0,l.useCallback)(()=>void Q(),[]);return{servers:X??[],checked:null!=X,checking:null!=G,refresh:a}}(k),w=j?f.slice(j.prefix.length):f,C=e=>{let t=""===w||w.startsWith("/")||w.startsWith("?")?w:`/${w}`;return`${e}${t||(e.startsWith("{{")?"":"/")}`},S=N.servers,$=[...S.map(e=>({value:`local:${e.scheme}:${e.port}`,label:`localhost:${e.port}`,hint:[e.name,e.scheme,e.selfSigned?"self-signed":""].filter(Boolean).join(" · "),text:`localhost ${e.port} ${e.name??""}`,className:"font-mono",group:"local",inline:!0})),...u.filter(e=>!S.some(t=>t.port===e)).map(e=>({value:`local:http:${e}`,label:`localhost:${e}`,hint:N.checked?"used before · not running now":"used before",text:`localhost ${e}`,className:"font-mono text-mute",group:"local",inline:!0}))];j?.value.startsWith("local:")&&!$.some(e=>e.value===j.value)&&$.unshift({value:j.value,label:j.text,hint:"in this request",text:j.text,className:"font-mono",group:"local",inline:!0});let E=null!=j&&!j.value.startsWith("local:"),M=[...g.length?[{id:"env",label:d?.name??"Variables",text:d?.name??"variables",defaultOpen:E||null==j,action:c.length>1?{label:"switch",title:"Choose another environment",onClick:()=>setTimeout(()=>document.querySelector('button[role="combobox"][aria-label="Environment"]')?.click(),0)}:void 0}]:[],{id:"local",label:"Localhost",text:"localhost",hint:N.checking&&!N.checked?"checking…":`${S.length||"none"} running${N.checking?" · checking…":""}`,defaultOpen:!g.length&&null==j}],R=j?"text-accent":y?"text-warn":"text-mute";return(0,t.jsxs)("div",{className:"flex flex-wrap items-stretch gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-[1_1_28rem] overflow-hidden rounded-lg border border-line bg-panel-2 focus-within:border-accent",children:[(0,t.jsx)(K,{label:"Method",value:e.method,onChange:t=>a({...e,method:t}),options:q.METHODS.map(e=>({value:e,label:e,className:`font-mono font-medium ${en[e]}`})),minWidth:140,className:`shrink-0 border-r border-line px-3 font-mono text-sm font-medium outline-none focus-visible:bg-panel ${en[e.method]}`}),h?(0,t.jsxs)("form",{className:"flex shrink-0 items-center gap-1 border-r border-line px-2 font-mono text-xs",onSubmit:t=>{t.preventDefault(),(()=>{if(!h)return;let t=Number(h.port);!Number.isInteger(t)||t<1||t>65535||(er(t),x(el()),a((0,q.withUrl)(e,C(`${h.scheme}://localhost:${t}`))),p(null))})()},onKeyDown:e=>"Escape"===e.key&&p(null),children:[(0,t.jsx)("button",{type:"button",title:"Switch between http and https",onClick:()=>p({...h,scheme:"http"===h.scheme?"https":"http"}),className:"rounded px-1 text-accent hover:bg-panel",children:h.scheme}),(0,t.jsx)("span",{className:"text-mute",children:"://localhost:"}),(0,t.jsx)("input",{ref:b,value:h.port,onChange:e=>p({...h,port:e.target.value.replace(/\D/g,"").slice(0,5)}),inputMode:"numeric",placeholder:"8080","aria-label":"Port",className:"w-14 rounded border border-line bg-panel px-1.5 py-0.5 text-ink outline-none focus:border-accent"}),(0,t.jsx)("button",{type:"submit","aria-label":"Use this port",className:"rounded p-0.5 text-accent hover:bg-panel",children:(0,t.jsx)(B.Check,{size:14})}),(0,t.jsx)("button",{type:"button","aria-label":"Cancel",onClick:()=>p(null),className:"rounded p-0.5 text-mute hover:text-ink",children:(0,t.jsx)(n.X,{size:14})})]}):k?(0,t.jsx)(K,{label:"Base URL",value:j?.value??et,onChange:t=>{if(t===ea)return p({scheme:"http",port:""});if(t===et)return a((0,q.withUrl)(e,w));if(t.startsWith("local:")){let[,s,n]=t.split(":"),l=Number(n);return er(l),x(el()),a((0,q.withUrl)(e,C(`${s}://localhost:${l}`)))}a((0,q.withUrl)(e,C(`{{${t}}}`)))},onOpen:N.refresh,minWidth:320,buttonContent:j?.text??"Base URL",groups:M,options:[...g.map(([e,t])=>({value:e,label:`{{${e}}}`,hint:t,text:e,className:"font-mono text-accent",group:"env"})),...$,{value:ea,label:"Another port…",text:"another port",group:"local"},{value:et,label:"No base URL — type the whole address",text:"no"}],className:`shrink-0 border-r border-line px-2.5 font-mono text-xs outline-none focus-visible:bg-panel ${R}`}):null,(0,t.jsx)("label",{className:"sr-only",htmlFor:"request-url",children:"Request URL"}),(0,t.jsx)("input",{ref:i,id:"request-url",value:w,spellCheck:!1,autoComplete:"off",onChange:t=>{let s=t.target.value,n=/^(https?:\/\/|\{\{)/i.test(s.trim())||""===w&&""!==s&&!/^[/?#]/.test(s);a((0,q.withUrl)(e,j&&!n?`${j.prefix}${s}`:s))},onPaste:t=>{let n=(0,q.withPaste)(e,t.clipboardData.getData("text"));n&&(t.preventDefault(),a(n.draft),n.note&&s?.(n.note))},placeholder:j?"/path — after the base URL":"Paste a URL or a curl command, or type a /path",className:"min-w-0 flex-1 bg-transparent px-3 py-2.5 font-mono text-sm text-ink outline-none placeholder:text-mute"})]}),(0,t.jsx)("div",{className:"flex shrink-0 gap-2",children:r})]})});e.s(["RequestBar",0,ei],44794);var eo=e.i(99522);let ec=(0,eo.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var ed=e.i(89932),eu=e.i(75117),em=e.i(88293);let ex=(0,eo.default)("wrap-text",[["path",{d:"m16 16-2 2 2 2",key:"kkc6pm"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["path",{d:"M3 18h7",key:"sq21v6"}],["path",{d:"M3 6h18",key:"d0wm0j"}]]);var eh=e.i(56396),ep=e.i(15060),eb=e.i(19656);let ef={200:"OK",201:"Created",202:"Accepted",204:"No Content",301:"Moved Permanently",302:"Found",304:"Not Modified",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",408:"Request Timeout",409:"Conflict",415:"Unsupported Media Type",422:"Unprocessable Content",429:"Too Many Requests",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout"};function ev({label:e,value:a}){return(0,t.jsxs)("span",{className:"text-xs text-mute",children:[e," ",(0,t.jsx)("span",{className:"font-mono text-sm text-ink",children:a})]})}function eg({message:e}){let a,{title:s,tip:n}=(a=e.toLowerCase()).includes("econnrefused")?{title:"Connection refused",tip:"Nothing is listening on that host and port. Is the server running, and is the port right?"}:a.includes("enotfound")||a.includes("eai_again")?{title:"Host not found",tip:"DNS could not resolve the host name. Check the spelling, or connect to the VPN for internal hosts."}:a.includes("timeout")||a.includes("etimedout")||a.includes("und_err_headers_timeout")?{title:"Timed out",tip:"The server did not answer in time. Raise Timeout under Settings, or check that the host is reachable."}:a.includes("certificate")||a.includes("self-signed")||a.includes("unable to verify")||a.includes("cert_")?{title:"TLS certificate rejected",tip:"The certificate is not trusted. For a lab certificate, turn on 'Skip TLS certificate check' under Settings."}:a.includes("econnreset")||a.includes("socket hang up")?{title:"Connection reset",tip:"The server closed the connection mid-request. Check the server logs, or a proxy or firewall in between."}:a.includes("engine")?{title:"Engine problem",tip:"The local engine did not answer. Make sure pnpm dev is running."}:{title:"Request failed",tip:"See the details below."};return(0,t.jsxs)("div",{role:"alert",className:"mt-3 rounded-md border border-bad/40 bg-bad/10 px-3 py-2.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-bad",children:s}),(0,t.jsx)("p",{className:"mt-1 text-sm text-ink",children:n}),(0,t.jsx)("p",{className:"mt-2 font-mono text-xs break-all text-mute",children:e})]})}function ej({headers:e}){let a=(0,eh.useToast)(),s=Object.entries(e).sort(([e],[t])=>e.localeCompare(t));return 0===s.length?(0,t.jsx)("p",{className:"text-sm text-mute",children:"No headers."}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 text-xs text-mute hover:text-ink",onClick:()=>{navigator.clipboard.writeText(s.map(([e,t])=>`${e}: ${t}`).join("\n")),a("Headers copied","success")},children:[(0,t.jsx)(ed.Copy,{size:12})," Copy all"]})}),(0,t.jsx)("div",{className:"overflow-auto rounded-md border border-line",children:(0,t.jsx)("table",{className:"w-full text-left text-[13px]",children:(0,t.jsx)("tbody",{children:s.map(([e,a])=>(0,t.jsxs)("tr",{className:"border-t border-line first:border-t-0",children:[(0,t.jsx)("th",{scope:"row",className:"w-2/5 bg-panel-2 px-3 py-1.5 align-top font-mono font-normal text-mute",children:e}),(0,t.jsx)("td",{className:`px-3 py-1.5 font-mono break-all ${"[redacted]"===a?"text-mute italic":"text-ink"}`,children:a})]},e))})})}),(0,t.jsx)("p",{className:"text-xs text-mute",children:"Cookie and authorization headers are redacted by the engine."})]})}function ey({body:e,contentType:a,truncated:s,url:n}){let r=(0,eh.useToast)(),i=function(e,t){let a=t.toLowerCase();if(a.includes("json"))return"json";if(a.includes("html"))return"html";if(a.includes("xml"))return"xml";let s=e.trim();if(s.startsWith("{")||s.startsWith("["))try{return JSON.parse(s),"json"}catch{}return/^<!doctype html|^<html/i.test(s)?"html":s.startsWith("<")?"xml":"text"}(e,a),o=s||e.length>=16384,[c,d]=(0,l.useState)("pretty"),[m,x]=(0,l.useState)(!0),[h,p]=(0,l.useState)(""),[b,f]=(0,l.useState)(0),[v,g]=(0,l.useState)(!1),j=(0,l.useRef)(null),y=(0,l.useRef)(null);(0,l.useEffect)(()=>{d("pretty"),p(""),f(0)},[e]);let k=(0,l.useMemo)(()=>e?"raw"===c?e:function(e,t){if("json"!==t)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}(e,i):"",[e,c,i]),N=(0,l.useMemo)(()=>(function(e,t){if(!t)return 0;let a=e.toLowerCase(),s=t.toLowerCase(),n=0;for(let e=a.indexOf(s);e>=0&&n<1e4;e=a.indexOf(s,e+s.length))n++;return n})(k,h),[k,h]);function w(e){0!==N&&f(t=>(t+e+N)%N)}(0,l.useEffect)(()=>{let e=y.current?.querySelector("mark.current");e?.scrollIntoView({block:"center"})},[b,h,c]);let C=[{value:"pretty",label:"Pretty"},{value:"raw",label:"Raw"},..."html"===i?[{value:"preview",label:"Preview"}]:[]];return e?(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border border-line bg-panel-2",onKeyDown:e=>{(e.ctrlKey||e.metaKey)&&"f"===e.key.toLowerCase()&&(e.preventDefault(),g(!0),window.setTimeout(()=>j.current?.focus(),0))},children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-line px-2 py-1.5",children:[(0,t.jsx)(u.Segmented,{label:"Body view",value:c,onChange:d,options:C}),(0,t.jsx)("span",{className:"rounded border border-line px-1.5 py-0.5 font-mono text-xs text-mute uppercase",children:i}),s?(0,t.jsx)("span",{className:"text-xs text-warn",children:"First 64 KB shown"}):null,(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[v?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-line bg-panel px-1.5",children:[(0,t.jsx)(em.Search,{size:12,className:"text-mute"}),(0,t.jsx)("input",{ref:j,value:h,"aria-label":"Find in body",placeholder:"Find",onChange:e=>{p(e.target.value),f(0)},onKeyDown:e=>{"Enter"===e.key&&w(e.shiftKey?-1:1),"Escape"===e.key&&(p(""),g(!1))},className:"w-28 bg-transparent py-1 text-xs text-ink outline-none"}),(0,t.jsx)("span",{className:"font-mono text-xs text-mute tabular",children:h?`${N?b+1:0}/${N}`:""}),(0,t.jsx)(ek,{label:"Previous match",onClick:()=>w(-1),children:(0,t.jsx)(ec,{size:12})}),(0,t.jsx)(ek,{label:"Next match",onClick:()=>w(1),children:(0,t.jsx)(W.ChevronDown,{size:12})})]}):(0,t.jsx)(ek,{label:"Find in body (Ctrl+F)",onClick:()=>{g(!0),window.setTimeout(()=>j.current?.focus(),0)},children:(0,t.jsx)(em.Search,{size:14})}),(0,t.jsx)(ek,{label:m?"Turn off line wrap":"Wrap long lines",pressed:m,onClick:()=>x(e=>!e),children:(0,t.jsx)(ex,{size:14})}),(0,t.jsx)(ek,{label:"Copy body",onClick:()=>{navigator.clipboard.writeText(k),r("Body copied","success")},children:(0,t.jsx)(ed.Copy,{size:14})}),(0,t.jsx)(ek,{label:"Download body",onClick:()=>{var e;return(0,ep.downloadText)(function(e,t){let a="response";try{a=new URL(e).pathname.split("/").filter(Boolean).pop()||"response"}catch{}return`${a.replace(/[^\w.-]+/g,"_")}.${"json"===t?"json":"html"===t?"html":"xml"===t?"xml":"txt"}`}(n,i),k,"json"===(e=i)?"application/json":"html"===e?"text/html":"xml"===e?"application/xml":"text/plain")},children:(0,t.jsx)(eu.Download,{size:14})})]})]}),"preview"===c?(0,t.jsx)("iframe",{title:"HTML preview",sandbox:"",srcDoc:e,className:"min-h-[24rem] w-full flex-1 bg-white"}):(0,t.jsx)("pre",{ref:y,tabIndex:0,"aria-label":"Response body",className:`min-h-[12rem] flex-1 overflow-auto p-3 font-mono text-[13px] leading-5 text-ink ${m?"break-words whitespace-pre-wrap":"whitespace-pre"}`,children:h?function(e,a,s){let n=[],l=e.toLowerCase(),r=a.toLowerCase(),i=0,o=0;for(let a=l.indexOf(r);a>=0&&o<1e4;a=l.indexOf(r,a+r.length))n.push(e.slice(i,a)),n.push((0,t.jsx)("mark",{className:`find-hit${o===s?" current":""}`,children:e.slice(a,a+r.length)},a)),i=a+r.length,o++;return n.push(e.slice(i)),n}(k,h,b):"pretty"!==c||"json"!==i||o?k:function(e){let a=[],s=0;for(let n of e.matchAll(eN)){let l=n.index??0;a.push(e.slice(s,l)),n[1]?(a.push((0,t.jsx)("span",{className:n[2]?"tok-key":"tok-str",children:n[1]},l)),n[2]&&a.push(n[2])):n[3]?a.push((0,t.jsx)("span",{className:"tok-lit",children:n[3]},l)):a.push((0,t.jsx)("span",{className:"tok-num",children:n[4]},l)),s=l+n[0].length}return a.push(e.slice(s)),a}(k)})]}):(0,t.jsx)("p",{className:"text-sm text-mute",children:"Empty body."})}function ek({label:e,onClick:a,children:s,pressed:n}){return(0,t.jsx)("button",{type:"button","aria-label":e,title:e,"aria-pressed":n,onClick:a,className:`rounded p-1 hover:bg-panel hover:text-ink ${n?"text-accent":"text-mute"}`,children:s})}let eN=/("(?:\\u[a-fA-F0-9]{4}|\\[^u]|[^\\"])*")(\s*:)?|\b(true|false|null)\b|(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/g;e.s(["ResponseViewer",0,function({result:e}){var a,s;let n,[r,i]=(0,l.useState)("body"),o=e.checks??[],c=o.filter(e=>e.ok).length,d=Object.keys(e.headers).length,u=(n=Object.keys(a=e.headers).find(e=>"content-type"===e.toLowerCase()))?a[n]??"":"",m=(0,l.useMemo)(()=>new TextEncoder().encode(e.body).length,[e.body]),x=!e.status;return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2",children:[(0,t.jsx)("span",{className:`rounded-md border px-2 py-0.5 font-mono text-sm font-medium ${(s=e.status)>=200&&s<300?"text-ok border-ok/40 bg-ok/10":s>=300&&s<400?"text-accent border-accent/40 bg-accent/10":s>=400&&s<500?"text-warn border-warn/40 bg-warn/10":"text-bad border-bad/40 bg-bad/10"}`,children:x?"Error":`${e.status} ${ef[e.status]??""}`.trim()}),(0,t.jsx)(ev,{label:"Time",value:`${e.durationMs} ms`}),x?null:(0,t.jsx)(ev,{label:"Size",value:`${(0,eb.formatBytes)(m)}${e.truncated?"+":""}`}),u?(0,t.jsx)(ev,{label:"Type",value:u.split(";")[0]??u}):null,o.length?(0,t.jsxs)("button",{type:"button",onClick:()=>i("checks"),className:`rounded-md border px-2 py-0.5 text-xs ${c===o.length?"border-ok/40 text-ok":"border-bad/40 text-bad"}`,children:[c===o.length?"✓":"✕"," ",c,"/",o.length," checks"]}):null]}),(0,t.jsx)("p",{className:"mt-2 font-mono text-xs break-all text-mute",children:e.url}),e.setup||e.dataRow?(0,t.jsxs)("p",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-mute",children:[e.setup?(0,t.jsxs)("span",{className:e.setup.ok?"":"text-bad",children:["Ran first: ",(0,t.jsx)("span",{className:"text-ink",children:e.setup.label}),e.setup.status?` \xb7 ${e.setup.status} \xb7 ${e.setup.durationMs} ms`:"",e.setup.values.map(e=>(0,t.jsxs)("span",{className:`ml-2 font-mono ${e.found?"text-ok":"text-bad"}`,title:e.found?`From ${e.from}: ${e.preview}`:`Not found: ${e.from}`,children:[e.found?"✓":"✕"," ",`{{${e.name}}}`]},e.name))]}):null,e.dataRow?(0,t.jsxs)("span",{children:["Test data: row ",e.dataRow.row," of ",e.dataRow.of.toLocaleString()]}):null]}):null,e.error?(0,t.jsx)(eg,{message:e.error}):null,x?null:(0,t.jsxs)("div",{className:"mt-3 flex min-h-0 flex-1 flex-col",children:[(0,t.jsx)(E,{id:"response",label:"Response",value:r,onChange:i,items:[{id:"body",label:"Body"},{id:"headers",label:"Headers",badge:d||void 0},...o.length?[{id:"checks",label:"Checks",badge:(0,t.jsxs)("span",{className:c===o.length?"text-ok":"text-bad",children:[c,"/",o.length]})}]:[]]}),(0,t.jsx)("div",{...M("response",r),className:"flex min-h-0 flex-1 flex-col pt-3",children:"body"===r?(0,t.jsx)(ey,{body:e.body,contentType:u,truncated:e.truncated,url:e.url}):"checks"===r?(0,t.jsx)("ul",{className:"space-y-1.5",children:o.map((e,a)=>(0,t.jsxs)("li",{className:`flex items-center gap-2 rounded-md border px-3 py-2 text-sm ${e.ok?"border-ok/30 bg-ok/5":"border-bad/40 bg-bad/10"}`,children:[(0,t.jsx)("span",{className:e.ok?"text-ok":"text-bad","aria-hidden":!0,children:e.ok?"✓":"✕"}),(0,t.jsx)("span",{className:"font-mono text-[13px] text-ink",children:e.name}),(0,t.jsx)("span",{className:`ml-auto text-xs ${e.ok?"text-ok":"text-bad"}`,children:e.ok?"pass":"fail"})]},a))}):(0,t.jsx)(ej,{headers:e.headers})})]})]})}],60566)},68228,65638,e=>{"use strict";var t=e.i(61666);e.i(24856);var a=e.i(78451),s=e.i(89932),n=e.i(36620),l=e.i(73436),r=e.i(39819),i=e.i(71189),o=e.i(43514),c=e.i(96659),d=e.i(87283),u=e.i(83067),m=e.i(39170),x=e.i(80707),h=e.i(56396);e.i(42674);var p=e.i(5305),b=e.i(6278);let f=()=>globalThis.crypto?.randomUUID?.()??`env-${Date.now().toString(36)}`;function v({onClose:e}){let a=(0,h.useToast)(),n=(0,m.useConfirm)(),{environments:l,activeEnv:o,setActiveEnv:x,saveEnvironments:p,index:j}=(0,b.useWorkspace)(),[y,k]=(0,u.useState)(()=>structuredClone(l)),[N,w]=(0,u.useState)(o?.id??l[0]?.id??null),[C,S]=(0,u.useState)(!1),$=(0,u.useRef)(null),E=y.find(e=>e.id===N)??null,M=JSON.stringify(y)!==JSON.stringify(l);(0,u.useEffect)(()=>{let e=document.activeElement;return $.current?.querySelector("input,button")?.focus(),()=>e?.focus()},[]);let q=(e,t)=>k(a=>a.map(a=>a.id===e?{...a,...t}:a));function R(e){let t=e?{id:f(),name:`${e.name} copy`,variables:structuredClone(e.variables)}:{id:f(),name:y.length?`Environment ${y.length+1}`:"DEV",variables:[{key:"baseUrl",value:"",secret:!1}]};k(e=>[...e,t]),w(t.id)}async function T(){(!M||await n({title:"Discard changes to environments?",confirmLabel:"Discard",tone:"danger"}))&&e()}async function D(){S(!0);try{await p(y),o&&!y.some(e=>e.id===o.id)&&x(null),a("Environments saved","success"),e()}catch(e){a(e instanceof Error?e.message:"Could not save environments","error")}finally{S(!1)}}return(0,t.jsx)("div",{className:"fixed inset-0 z-50 grid place-items-center bg-black/50 p-4 backdrop-blur-sm",onMouseDown:e=>e.target===e.currentTarget&&void T(),children:(0,t.jsxs)("div",{ref:$,role:"dialog","aria-modal":"true","aria-label":"Environments",onKeyDown:e=>"Escape"===e.key&&void T(),className:"flex max-h-[85vh] w-full max-w-4xl flex-col overflow-hidden rounded-xl border border-line bg-panel shadow-2xl",children:[(0,t.jsxs)("header",{className:"flex items-center justify-between border-b border-line px-5 py-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-medium text-ink",children:"Environments"}),(0,t.jsxs)("p",{className:"text-xs text-mute",children:["Use ",(0,t.jsx)("code",{className:"font-mono text-ink",children:"{{name}}"})," in the URL, params, headers, body, or auth. Saved to environments.json in your app-data folder."]})]}),(0,t.jsx)("button",{type:"button","aria-label":"Close",className:"rounded p-1 text-mute hover:text-ink",onClick:()=>void T(),children:(0,t.jsx)(d.X,{size:16})})]}),(0,t.jsxs)("div",{className:"grid min-h-0 flex-1 md:grid-cols-[14rem_minmax(0,1fr)]",children:[(0,t.jsxs)("nav",{"aria-label":"Environment list",className:"space-y-1 overflow-auto border-line p-3 md:border-r",children:[y.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>w(e.id),"aria-current":e.id===N?"true":void 0,className:`block w-full truncate rounded-md px-2 py-1.5 text-left text-sm ${e.id===N?"bg-accent-dim text-ink":"text-mute hover:bg-panel-2 hover:text-ink"}`,children:[e.name,(0,t.jsx)("span",{className:"ml-1 text-xs text-mute",children:e.variables.length})]},e.id)),(0,t.jsxs)("button",{type:"button",onClick:()=>R(),className:"mt-2 inline-flex items-center gap-1 text-xs text-accent hover:underline",children:[(0,t.jsx)(i.Plus,{size:12,"aria-hidden":!0})," New environment"]})]}),(0,t.jsx)("section",{className:"min-h-0 overflow-auto p-4",children:E?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("label",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"sr-only",children:"Environment name"}),(0,t.jsx)("input",{value:E.name,onChange:e=>q(E.id,{name:e.target.value}),className:"input text-base font-medium"})]}),(0,t.jsxs)("button",{type:"button",className:"btn btn-secondary py-1.5 text-xs",onClick:()=>R(E),children:[(0,t.jsx)(s.Copy,{size:13})," Duplicate"]}),(0,t.jsxs)("button",{type:"button",className:"btn btn-danger py-1.5 text-xs",onClick:()=>{k(e=>e.filter(e=>e.id!==E.id)),w(y.find(e=>e.id!==E.id)?.id??null)},children:[(0,t.jsx)(c.Trash2,{size:13})," Delete"]})]}),(0,t.jsx)(g,{vars:E.variables,onPatch:(e,t)=>E&&q(E.id,{variables:E.variables.map((a,s)=>s===e?{...a,...t}:a)}),onChange:e=>q(E.id,{variables:e})}),(0,t.jsxs)("p",{className:"flex items-start gap-1.5 text-xs text-mute",children:[(0,t.jsx)(r.Lock,{size:12,className:"mt-0.5 shrink-0","aria-hidden":!0}),j?.secretsPersistent?"Secret values are encrypted on this computer and never written to environments.json.":"Secret values are never written to disk. In this browser setup they are kept by the engine until it restarts; the desktop app encrypts them."]})]}):(0,t.jsxs)("div",{className:"py-12 text-center text-sm text-mute",children:["No environments yet. Create one for each place you test — DEV, UAT, PROD.",(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsxs)("button",{type:"button",className:"btn btn-primary text-sm",onClick:()=>R(),children:[(0,t.jsx)(i.Plus,{size:14})," New environment"]})})]})})]}),(0,t.jsxs)("footer",{className:"flex justify-end gap-2 border-t border-line px-5 py-3",children:[(0,t.jsx)("button",{type:"button",className:"btn btn-secondary text-sm",onClick:()=>void T(),children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"btn btn-primary text-sm",disabled:!M||C,onClick:()=>void D(),children:"Save environments"})]})]})})}function g({vars:e,onPatch:a,onChange:s}){let[r,o]=(0,u.useState)(new Set),c=new Set(e.map(e=>e.key.trim()).filter((e,t,a)=>e&&a.indexOf(e)!==t));return(0,t.jsxs)("div",{className:"overflow-hidden rounded-md border border-line",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[minmax(0,2fr)_minmax(0,3fr)_5.5rem_2rem] bg-panel-2 text-xs text-mute",children:[(0,t.jsx)("span",{className:"px-2.5 py-1.5",children:"Variable"}),(0,t.jsx)("span",{className:"border-l border-line px-2.5 py-1.5",children:"Value"}),(0,t.jsx)("span",{className:"border-l border-line px-2.5 py-1.5",children:"Secret"}),(0,t.jsx)("span",{})]}),e.map((i,u)=>{let m=i.key&&!/^[A-Za-z_][\w.-]*$/.test(i.key)||c.has(i.key.trim());return(0,t.jsxs)("div",{className:"grid grid-cols-[minmax(0,2fr)_minmax(0,3fr)_5.5rem_2rem] border-t border-line",children:[(0,t.jsx)("input",{"aria-label":`Variable ${u+1} name`,"aria-invalid":m||void 0,title:m?"Letters, digits, _ . - ; must start with a letter or _ ; must be unique":void 0,value:i.key,onChange:e=>a(u,{key:e.target.value}),placeholder:"baseUrl",className:`min-w-0 bg-transparent px-2.5 py-1.5 font-mono text-[13px] outline-none focus:bg-panel-2 ${m?"text-bad":"text-ink"}`}),(0,t.jsxs)("span",{className:"relative flex min-w-0 border-l border-line",children:[(0,t.jsx)("input",{"aria-label":`Variable ${u+1} value`,type:i.secret&&!r.has(u)?"password":"text",autoComplete:"off",value:i.value,onChange:e=>a(u,{value:e.target.value}),className:"min-w-0 flex-1 bg-transparent px-2.5 py-1.5 font-mono text-[13px] text-ink outline-none focus:bg-panel-2"}),i.secret?(0,t.jsx)("button",{type:"button","aria-label":r.has(u)?"Hide value":"Show value",onClick:()=>o(e=>{let t=new Set(e);return t.has(u)?t.delete(u):t.add(u),t}),className:"px-2 text-mute hover:text-ink",children:r.has(u)?(0,t.jsx)(l.EyeOff,{size:13}):(0,t.jsx)(n.Eye,{size:13})}):null]}),(0,t.jsxs)("label",{className:"flex items-center gap-1.5 border-l border-line px-2.5 text-xs text-mute",children:[(0,t.jsx)("input",{type:"checkbox",checked:i.secret,onChange:e=>a(u,{secret:e.target.checked}),className:"accent-[var(--accent)]"}),"secret"]}),(0,t.jsx)("button",{type:"button","aria-label":`Remove ${i.key||`variable ${u+1}`}`,onClick:()=>s(e.filter((e,t)=>t!==u)),className:"grid place-items-center text-mute hover:text-bad",children:(0,t.jsx)(d.X,{size:13})})]},u)}),(0,t.jsxs)("button",{type:"button",onClick:()=>s([...e,{key:"",value:"",secret:!1}]),className:"flex w-full items-center gap-1 border-t border-line px-2.5 py-1.5 text-xs text-accent hover:bg-panel-2",children:[(0,t.jsx)(i.Plus,{size:12,"aria-hidden":!0})," Add variable"]})]})}e.s(["EnvironmentBar",0,function({drafts:e}){let{environments:s,activeEnv:n,setActiveEnv:l,vars:r,savedValues:i,clearSavedValues:c}=(0,b.useWorkspace)(),d=Object.keys(i),[m,h]=(0,u.useState)(!1),f=(0,u.useMemo)(()=>{let t=new Set;for(let s of e){let e=new Set((0,p.draftRuntimeNames)(s)),n=[s.url,s.bodyText,s.token,s.username,s.password,s.apiValue,...s.params.map(e=>e.value),...s.headers.map(e=>e.value)].join(" ");(0,a.findVariables)(n).forEach(a=>!e.has(a)&&t.add(a))}return[...t]},[e]),g=f.filter(e=>!(e in r));return(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-mute",children:["Environment",(0,t.jsx)(x.Select,{label:"Environment",value:n?.id??"",onChange:e=>l(e||null),minWidth:200,options:[{value:"",label:"None",hint:"Only built-in variables"},...s.map(e=>({value:e.id,label:e.name,hint:`${e.variables.length} variable${1===e.variables.length?"":"s"}`}))],className:"rounded-md border border-line bg-panel-2 px-2 py-1 text-xs text-ink hover:border-mute focus-visible:border-accent focus-visible:outline-none"})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>h(!0),className:"inline-flex items-center gap-1 rounded-md px-1.5 py-1 text-mute hover:text-ink",children:[(0,t.jsx)(o.Settings2,{size:12,"aria-hidden":!0})," Manage"]}),f.length>0?g.length?(0,t.jsxs)("span",{className:"text-warn",role:"status",children:[g.map(e=>`{{${e}}}`).join(", ")," not defined",n?` in ${n.name}`:" — pick an environment"]}):(0,t.jsxs)("span",{className:"text-mute",children:["Uses ",f.map(e=>`{{${e}}}`).join(", ")]}):null,d.length?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-mute",title:d.map(e=>`{{${e}}} — saved from “${i[e].from}”`).join("\n"),children:["Saved from answers: ",(0,t.jsx)("span",{className:"font-mono text-accent",children:d.map(e=>`{{${e}}}`).join(", ")}),(0,t.jsx)("button",{type:"button",onClick:c,className:"text-mute underline-offset-2 hover:text-ink hover:underline",children:"Clear"})]}):null,m?(0,t.jsx)(v,{onClose:()=>h(!1)}):null]})}],68228);var j=e.i(95486),y=e.i(60961),k=e.i(99522);let N=(0,k.default)("file-plus-2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 15h6",key:"4e2qda"}],["path",{d:"M6 12v6",key:"1u72j0"}]]),w=(0,k.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),C=(0,k.default)("import",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m8 11 4 4 4-4",key:"1dohi6"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4",key:"1ywtjm"}]]);var S=e.i(3792),$=e.i(88293),E=e.i(50804),M=e.i(67217),q=e.i(14168);let R={GET:"text-ok",POST:"text-warn",PUT:"text-accent",PATCH:"text-accent",DELETE:"text-bad"};function T({activeId:e,onOpen:a,allowDelete:s=!0}){let n=(0,h.useToast)(),l=(0,m.useConfirm)(),{index:r,refresh:i}=(0,b.useWorkspace)(),[o,d]=(0,u.useState)(""),[x,p]=(0,u.useState)(new Set),f=r?.requests??[],v=(0,u.useMemo)(()=>{let e=o.trim().toLowerCase();return e?f.filter(t=>`${t.name} ${t.collection} ${t.url} ${t.method}`.toLowerCase().includes(e)):f},[f,o]);async function g(e){try{let t=await b.workspaceApi.get(e);a(t),t.secretsMissing?.length&&n(`Re-enter the ${t.secretsMissing.join(", ")} — secrets are kept only until the engine restarts in this setup`,"info")}catch(e){n(e instanceof Error?e.message:"Could not open the request","error")}}async function k(e){await l({title:`Delete “${e.name}”?`,body:"The saved request file is removed. Load test history is not affected.",confirmLabel:"Delete",tone:"danger"})&&(await b.workspaceApi.remove(e.id).catch(()=>void 0),await i())}return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("label",{className:"relative mb-2 block",children:[(0,t.jsx)("span",{className:"sr-only",children:"Search saved requests"}),(0,t.jsx)($.Search,{size:13,className:"pointer-events-none absolute top-1/2 left-2 -translate-y-1/2 text-mute","aria-hidden":!0}),(0,t.jsx)("input",{value:o,onChange:e=>d(e.target.value),placeholder:"Search requests",className:"input py-1 pl-7 text-xs"})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:0===f.length?(0,t.jsxs)("div",{className:"space-y-2 px-1 py-4 text-xs text-mute",children:[(0,t.jsx)("p",{children:"No saved requests yet. Press Save (Ctrl+S) to keep the current one."}),(0,t.jsxs)("p",{children:["Coming from Postman or Swagger?"," ",(0,t.jsx)("button",{type:"button",onClick:M.openImport,className:"text-accent hover:underline",children:"Import your requests"})]})]}):0===v.length?(0,t.jsx)("p",{className:"px-1 py-4 text-xs text-mute",children:"Nothing matches."}):(function(e){let t=new Map;for(let a of e)t.set(a.collection,[...t.get(a.collection)??[],a]);return[...t].sort(([e],[t])=>""===e?1:""===t?-1:e.localeCompare(t))})(v).map(([a,n])=>{let l=x.has(a)&&!o;return(0,t.jsxs)("div",{className:"mb-1",children:[a?(0,t.jsxs)("div",{className:"group/folder flex items-center",children:[(0,t.jsxs)("button",{type:"button","aria-expanded":!l,onClick:()=>p(e=>{let t=new Set(e);return t.has(a)?t.delete(a):t.add(a),t}),className:"flex w-full items-center gap-1 rounded px-1 py-1 text-left text-xs font-medium text-mute hover:text-ink",children:[l?(0,t.jsx)(y.ChevronRight,{size:12,"aria-hidden":!0}):(0,t.jsx)(j.ChevronDown,{size:12,"aria-hidden":!0}),(0,t.jsx)(w,{size:12,"aria-hidden":!0}),(0,t.jsx)("span",{className:"truncate",children:a}),(0,t.jsx)("span",{className:"ml-auto font-normal",children:n.length})]}),s?(0,t.jsx)(E.default,{href:(0,q.suiteHref)(a),title:`Run all requests in ${a}`,"aria-label":`Run all requests in ${a}`,className:"ml-0.5 rounded p-1 text-mute opacity-0 group-hover/folder:opacity-100 hover:text-accent focus:opacity-100",children:(0,t.jsx)(S.Play,{size:12})}):null]}):null,l?null:(0,t.jsx)("ul",{className:a?"ml-3":"",children:n.map(a=>(0,t.jsxs)("li",{className:`group flex items-center rounded ${a.id===e?"bg-accent-dim":"hover:bg-panel-2"}`,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>void g(a.id),"aria-current":a.id===e?"true":void 0,title:a.url,className:"flex min-w-0 flex-1 items-center gap-2 px-1.5 py-1 text-left",children:[(0,t.jsx)("span",{className:`w-12 shrink-0 font-mono text-[11px] font-medium ${R[a.method]??"text-mute"}`,children:a.method}),(0,t.jsx)("span",{className:"min-w-0 truncate text-xs text-ink",children:a.name})]}),s?(0,t.jsx)("button",{type:"button","aria-label":`Delete ${a.name}`,onClick:()=>void k(a),className:"mr-1 rounded p-1 text-mute opacity-0 group-hover:opacity-100 hover:text-bad focus:opacity-100",children:(0,t.jsx)(c.Trash2,{size:12})}):null]},a.id))})]},a||"(top)")})})]})}e.s(["RequestPicker",0,function({onOpen:e}){let[a,s]=(0,u.useState)(!1),n=(0,u.useRef)(null);return(0,u.useEffect)(()=>{if(!a)return;let e=e=>!n.current?.contains(e.target)&&s(!1),t=e=>"Escape"===e.key&&s(!1);return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[a]),(0,t.jsxs)("div",{ref:n,className:"relative",children:[(0,t.jsxs)("button",{type:"button","aria-expanded":a,onClick:()=>s(e=>!e),className:"inline-flex items-center gap-1 rounded-md px-1.5 py-1 text-xs text-mute hover:text-ink",children:[(0,t.jsx)(w,{size:12,"aria-hidden":!0})," Load saved request"]}),a?(0,t.jsx)("div",{className:"absolute left-0 z-40 mt-1 flex h-80 w-80 flex-col rounded-md border border-line bg-panel p-2 shadow-xl",children:(0,t.jsx)(T,{allowDelete:!1,onOpen:t=>{e(t),s(!1)}})}):null]})},"RequestsPanel",0,function({activeId:e,onOpen:a,onNew:s,onClose:n}){return(0,t.jsxs)("aside",{"aria-label":"Saved requests",className:"flex min-h-0 flex-col border-line px-3 py-4 lg:border-r",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,t.jsx)("h2",{className:"text-xs font-medium tracking-wide text-mute uppercase",children:"Saved requests"}),(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button",onClick:s,title:"New request","aria-label":"New request",className:"rounded p-1 text-mute hover:bg-panel-2 hover:text-ink",children:(0,t.jsx)(N,{size:14})}),(0,t.jsx)("button",{type:"button",onClick:M.openImport,title:"Import from Postman or OpenAPI","aria-label":"Import from Postman or OpenAPI",className:"rounded p-1 text-mute hover:bg-panel-2 hover:text-ink",children:(0,t.jsx)(C,{size:14})}),(0,t.jsx)("button",{type:"button",onClick:n,title:"Hide saved requests","aria-label":"Hide saved requests",className:"rounded p-1 text-mute hover:bg-panel-2 hover:text-ink",children:(0,t.jsx)(d.X,{size:14})})]})]}),(0,t.jsx)(T,{activeId:e,onOpen:a})]})},"SaveRequestForm",0,function({initial:e,onSave:a,onCancel:s}){let{index:n}=(0,b.useWorkspace)(),[l,r]=(0,u.useState)(e.name),[i,o]=(0,u.useState)(e.collection),c=(0,u.useRef)(null),m=[...new Set((n?.requests??[]).map(e=>e.collection).filter(Boolean))];return(0,u.useEffect)(()=>c.current?.select(),[]),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),l.trim()&&a(l.trim(),i.trim())},onKeyDown:e=>"Escape"===e.key&&s(),className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-mute",children:["Name",(0,t.jsx)("input",{ref:c,value:l,onChange:e=>r(e.target.value),className:"input w-52 py-1 text-xs","aria-label":"Request name"})]}),(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-mute",children:["Collection",(0,t.jsx)("input",{value:i,onChange:e=>o(e.target.value),list:"atc-collections",placeholder:"none",className:"input w-40 py-1 text-xs","aria-label":"Collection"}),(0,t.jsx)("datalist",{id:"atc-collections",children:m.map(e=>(0,t.jsx)("option",{value:e},e))})]}),(0,t.jsx)("button",{type:"submit",className:"btn btn-primary py-1 text-xs",children:"Save request"}),(0,t.jsx)("button",{type:"button",className:"rounded p-1 text-mute hover:text-ink","aria-label":"Cancel",onClick:s,children:(0,t.jsx)(d.X,{size:14})})]})}],65638)},46679,e=>{"use strict";var t=e.i(6278);e.i(42674);var a=e.i(5305);async function s(e,s,n,l){let r,i,o=s.before;if(!o)return e;try{r=await t.workspaceApi.get(o.requestId)}catch{throw Error(`Run first: “${o.requestName}” is no longer saved — pick another request on the Run first tab`)}if(r.secretsMissing?.length)throw Error(`Run first: the saved ${r.secretsMissing.join(", ")} of “${r.name}” is not available — open it and enter it again`);try{i=(0,a.resolveDraft)({...(0,a.requestFromUnknown)(r.request),before:null,testData:null},n,l)}catch(e){throw Error(`Run first “${r.name}”: ${e instanceof Error?e.message:"invalid request"}`)}try{return{...e,setup:(0,a.buildSetup)({...o,requestName:r.name},i)}}catch(e){throw Error(e instanceof Error&&e.message.startsWith("Run first")?e.message:`Run first “${r.name}”: ${e instanceof Error?e.message:"invalid request"}`)}}e.s(["withRunFirst",0,s])},21206,e=>{"use strict";e.i(24856);var t=e.i(59100);function a(e,t,s=0){return{ok:!1,status:s,statusText:"",headers:{},body:"",truncated:!1,durationMs:0,url:e,error:t}}async function s(e){let t=await e.text();try{return{json:JSON.parse(t),text:t}}catch{return{json:null,text:t}}}function n(e){return e.slice(0,180).replace(/\s+/g," ").trim()}async function l(e){let t=e.request.url;try{let l=await fetch("/engine/probe",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({request:e.request,auth:e.auth,options:e.options,setup:e.setup,data:e.data,save:e.save})}),{json:r,text:i}=await s(l);if(!r){let e=n(i);return a(t,e?`Engine error (${l.status}): ${e}`:`Engine error (${l.status}). Is it running?`,l.status)}if(!l.ok)return a(t,"string"==typeof r.error?r.error:"Request failed",l.status);return r}catch(e){return a(t,e instanceof Error?e.message:"Engine unreachable")}}async function r(e){let t=await fetch("/engine/runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)}),{json:a,text:l}=await s(t);if(!a)throw Error(n(l)||"Failed to start load");if(!t.ok)throw Error("string"==typeof a.error?a.error:"Failed to start load");return a}async function i(e){try{let t=await fetch(`/engine/runs/${e}`,{cache:"no-store"});if(!t.ok)return null;return await t.json()}catch{return null}}async function o(e){try{let t=await fetch(`/engine/runs/${e}/stop`,{method:"POST"});if(!t.ok)return null;return await t.json()}catch{return null}}let c=new Set(["completed","failed","cancelled","interrupted"]);e.s(["fetchRun",0,i,"hostOf",0,function(e){try{return new URL(e).host}catch{return e}},"isSuccess",0,function(e){return!!(e&&e.ok&&e.status>=200&&e.status<300)},"isTerminalStatus",0,function(e){return c.has(e)},"needsLoadConfirm",0,function(e,a,s){if(function(e){try{let t=new URL(e).hostname.toLowerCase();return"localhost"===t||"127.0.0.1"===t||"[::1]"===t||"::1"===t||t.endsWith(".localhost")}catch{return!1}}(s))return!1;if("stress"===e||"spike"===e||"soak"===e)return!0;let n=(0,t.isArrivalRate)(a.executor)?a.rate??Math.max(0,...a.stages.map(e=>e.target)):null;return null!=n?n>=50:((0,t.isArrivalRate)(a.executor)?a.maxVUs??a.vus:a.stages.length>0?Math.max(a.vus,...a.stages.map(e=>e.target)):a.vus)>=25},"sendRequest",0,l,"startLoadRun",0,r,"stopLoadRun",0,o])},36620,73436,39819,e=>{"use strict";var t=e.i(99522);let a=(0,t.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,a],36620);let s=(0,t.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",0,s],73436);let n=(0,t.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["Lock",0,n],39819)},96659,e=>{"use strict";let t=(0,e.i(99522).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],96659)}]);
|