test-lah 1.0.4 → 1.0.6

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.
Files changed (78) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +12 -12
  3. package/.next/standalone/.next/app-path-routes-manifest.json +2 -2
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +13 -13
  6. package/.next/standalone/.next/server/app/(dashboard)/integrations/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/integrations/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js +9 -9
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  16. package/.next/standalone/.next/server/app/api/e2e/route.js +8 -4
  17. package/.next/standalone/.next/server/app/api/e2e/route_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/api/generate/route.js +6 -2
  19. package/.next/standalone/.next/server/app/api/generate/route_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/api/llm/encrypt/route_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/llm/test/route.js +7 -3
  22. package/.next/standalone/.next/server/app/api/llm/test/route_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/api/weather/route_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/index.html +1 -1
  25. package/.next/standalone/.next/server/app/index.rsc +2 -2
  26. package/.next/standalone/.next/server/app/integrations.html +1 -1
  27. package/.next/standalone/.next/server/app/integrations.rsc +3 -3
  28. package/.next/standalone/.next/server/app/login/page.js +1 -1
  29. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/login.html +1 -1
  31. package/.next/standalone/.next/server/app/login.rsc +2 -2
  32. package/.next/standalone/.next/server/app/page.js +1 -1
  33. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/projects.html +1 -1
  35. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  36. package/.next/standalone/.next/server/app-paths-manifest.json +2 -2
  37. package/.next/standalone/.next/server/chunks/615.js +1 -1
  38. package/.next/standalone/.next/server/chunks/736.js +2 -2
  39. package/.next/standalone/.next/server/chunks/845.js +5 -5
  40. package/.next/standalone/.next/server/pages/404.html +1 -1
  41. package/.next/standalone/.next/server/pages/500.html +1 -1
  42. package/.next/standalone/.next/server/pages-manifest.json +1 -1
  43. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  45. package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-f5e71fcfbeffdfb1.js +1 -0
  46. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-3bb51b4a324c09b6.js +1 -0
  47. package/.next/standalone/.next/static/css/aef2f5f25a3c4a6a.css +3 -0
  48. package/.next/standalone/node_modules/buffer-from/index.js +72 -0
  49. package/.next/standalone/node_modules/buffer-from/package.json +19 -0
  50. package/.next/standalone/node_modules/source-map/lib/array-set.js +121 -0
  51. package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +140 -0
  52. package/.next/standalone/node_modules/source-map/lib/base64.js +67 -0
  53. package/.next/standalone/node_modules/source-map/lib/binary-search.js +111 -0
  54. package/.next/standalone/node_modules/source-map/lib/mapping-list.js +79 -0
  55. package/.next/standalone/node_modules/source-map/lib/quick-sort.js +114 -0
  56. package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  57. package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +425 -0
  58. package/.next/standalone/node_modules/source-map/lib/source-node.js +413 -0
  59. package/.next/standalone/node_modules/source-map/lib/util.js +488 -0
  60. package/.next/standalone/node_modules/source-map/package.json +73 -0
  61. package/.next/standalone/node_modules/source-map/source-map.js +8 -0
  62. package/.next/standalone/node_modules/source-map-support/package.json +31 -0
  63. package/.next/standalone/node_modules/source-map-support/source-map-support.js +625 -0
  64. package/.next/standalone/package.json +1 -1
  65. package/.next/static/chunks/app/(dashboard)/integrations/page-f5e71fcfbeffdfb1.js +1 -0
  66. package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-3bb51b4a324c09b6.js +1 -0
  67. package/.next/static/css/aef2f5f25a3c4a6a.css +3 -0
  68. package/package.json +1 -1
  69. package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-ef2f1f3c1d497f2a.js +0 -1
  70. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-500a663fdab52791.js +0 -1
  71. package/.next/standalone/.next/static/css/0ecf0abc0513341e.css +0 -3
  72. package/.next/static/chunks/app/(dashboard)/integrations/page-ef2f1f3c1d497f2a.js +0 -1
  73. package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-500a663fdab52791.js +0 -1
  74. package/.next/static/css/0ecf0abc0513341e.css +0 -3
  75. /package/.next/standalone/.next/static/{9OtwPzpy1ovRWzffCh95h → iIE9EA9ZHZT920YmMjduY}/_buildManifest.js +0 -0
  76. /package/.next/standalone/.next/static/{9OtwPzpy1ovRWzffCh95h → iIE9EA9ZHZT920YmMjduY}/_ssgManifest.js +0 -0
  77. /package/.next/static/{9OtwPzpy1ovRWzffCh95h → iIE9EA9ZHZT920YmMjduY}/_buildManifest.js +0 -0
  78. /package/.next/static/{9OtwPzpy1ovRWzffCh95h → iIE9EA9ZHZT920YmMjduY}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><!--9OtwPzpy1ovRWzffCh95h--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/0ecf0abc0513341e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-879312f65eed9520.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-4f84124391a7dac4.js" async=""></script><script src="/_next/static/chunks/main-app-9c62372c526a8308.js" async=""></script><script src="/_next/static/chunks/app/layout-3ad98a7069d70b7b.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Test Lah!</title><meta name="description" content="Test Lah! — Your Boss&#x27;s Favorite QA Tool"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="350x350"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3" style="font-family:Inter, system-ui, sans-serif"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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><!--$--><!--/$--><div class="fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out" style="opacity:0;transform:translateY(100%);pointer-events:none"><div class="h-1 w-full" style="background-color:var(--bg-secondary)"><div class="h-full transition-all duration-200 ease-out" style="width:0%;background-color:var(--accent);box-shadow:none"></div></div></div><script src="/_next/static/chunks/webpack-879312f65eed9520.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[6061,[\"177\",\"static/chunks/app/layout-3ad98a7069d70b7b.js\"],\"Providers\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/0ecf0abc0513341e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"9OtwPzpy1ovRWzffCh95h\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0ecf0abc0513341e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_f367f3\",\"style\":{\"fontFamily\":\"Inter, system-ui, sans-serif\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Test Lah!\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Test Lah! — Your Boss's Favorite QA Tool\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"350x350\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$Lf\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--iIE9EA9ZHZT920YmMjduY--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/aef2f5f25a3c4a6a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-879312f65eed9520.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-4f84124391a7dac4.js" async=""></script><script src="/_next/static/chunks/main-app-9c62372c526a8308.js" async=""></script><script src="/_next/static/chunks/app/layout-3ad98a7069d70b7b.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Test Lah!</title><meta name="description" content="Test Lah! — Your Boss&#x27;s Favorite QA Tool"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="350x350"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3" style="font-family:Inter, system-ui, sans-serif"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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><!--$--><!--/$--><div class="fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out" style="opacity:0;transform:translateY(100%);pointer-events:none"><div class="h-1 w-full" style="background-color:var(--bg-secondary)"><div class="h-full transition-all duration-200 ease-out" style="width:0%;background-color:var(--accent);box-shadow:none"></div></div></div><script src="/_next/static/chunks/webpack-879312f65eed9520.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[6061,[\"177\",\"static/chunks/app/layout-3ad98a7069d70b7b.js\"],\"Providers\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/aef2f5f25a3c4a6a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"iIE9EA9ZHZT920YmMjduY\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/aef2f5f25a3c4a6a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_f367f3\",\"style\":{\"fontFamily\":\"Inter, system-ui, sans-serif\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Test Lah!\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Test Lah! — Your Boss's Favorite QA Tool\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"350x350\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$Lf\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-879312f65eed9520.js" defer=""></script><script src="/_next/static/chunks/framework-a6e0b7e30f98059a.js" defer=""></script><script src="/_next/static/chunks/main-646068343426c12d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7d307437aca18ad4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js" defer=""></script><script src="/_next/static/9OtwPzpy1ovRWzffCh95h/_buildManifest.js" defer=""></script><script src="/_next/static/9OtwPzpy1ovRWzffCh95h/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><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-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"9OtwPzpy1ovRWzffCh95h","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-879312f65eed9520.js" defer=""></script><script src="/_next/static/chunks/framework-a6e0b7e30f98059a.js" defer=""></script><script src="/_next/static/chunks/main-646068343426c12d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7d307437aca18ad4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js" defer=""></script><script src="/_next/static/iIE9EA9ZHZT920YmMjduY/_buildManifest.js" defer=""></script><script src="/_next/static/iIE9EA9ZHZT920YmMjduY/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><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-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"iIE9EA9ZHZT920YmMjduY","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,6 +1,6 @@
1
1
  {
2
- "/_app": "pages/_app.js",
3
2
  "/_error": "pages/_error.js",
3
+ "/_app": "pages/_app.js",
4
4
  "/_document": "pages/_document.js",
5
5
  "/404": "pages/404.html"
6
6
  }
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\"node\":{\"60a3ea029916e378c2d86e693740e24a303aaf50d6\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"generateTestCode\"},\"70ec37527f854489dd782643d7896ddea22d39a1eb\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"executeTestCase\"},\"785ce821970b970b41c6827cb01aa6f624cf5d6466\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"runE2ETests\"},\"78a6afe4f65d149677061ced217792707b27de1558\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"analyzeFailure\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{\"60ad200718cbf534491234e8ccda69d211db94a780\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"29700\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"generateTestCode\"},\"70bd7bf4455e56e70f75109224a1b50a2dd997f584\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"29700\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"executeTestCase\"},\"7836d885658265ed152aec6e068a7d87e682eba2ab\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"29700\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"analyzeFailure\"},\"78fc858165bc522b11d3e555b1751d02d46f2a369b\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"29700\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"runE2ETests\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
@@ -1 +1 @@
1
- {"node":{"60a3ea029916e378c2d86e693740e24a303aaf50d6":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"generateTestCode"},"70ec37527f854489dd782643d7896ddea22d39a1eb":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"executeTestCase"},"785ce821970b970b41c6827cb01aa6f624cf5d6466":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"runE2ETests"},"78a6afe4f65d149677061ced217792707b27de1558":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"analyzeFailure"}},"edge":{},"encryptionKey":"8xfS+MGAeQU8NwffqEslmCiz0wAFPaet5S4dBJXd29M="}
1
+ {"node":{"60ad200718cbf534491234e8ccda69d211db94a780":{"workers":{"app/api/e2e/route":{"moduleId":"29700","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"generateTestCode"},"70bd7bf4455e56e70f75109224a1b50a2dd997f584":{"workers":{"app/api/e2e/route":{"moduleId":"29700","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"executeTestCase"},"7836d885658265ed152aec6e068a7d87e682eba2ab":{"workers":{"app/api/e2e/route":{"moduleId":"29700","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"analyzeFailure"},"78fc858165bc522b11d3e555b1751d02d46f2a369b":{"workers":{"app/api/e2e/route":{"moduleId":"29700","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"runE2ETests"}},"edge":{},"encryptionKey":"Vs4AyTwV6CX9pjWn9hVZabf30Qp8Y/lRfVQqLQYIpIQ="}
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[480],{2850:(e,r,o)=>{Promise.resolve().then(o.bind(o,4071))},3362:(e,r,o)=>{"use strict";o.d(r,{Pj:()=>t});let t=Object.values({openai:{id:"openai",name:"OpenAI",type:"native",description:"GPT models powering ChatGPT. Industry-leading language understanding.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/openai.svg",keyUrl:"https://platform.openai.com/api-keys",keyPlaceholder:"sk-...",color:"#10A37F",sdkProvider:"openai",defaultModel:"gpt-4o-mini",popularModels:["gpt-4o","gpt-4o-mini","gpt-4-turbo","gpt-3.5-turbo"]},google:{id:"google",name:"Google Gemini",type:"native",description:"Google's multimodal AI with strong reasoning capabilities.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/googlegemini.svg",keyUrl:"https://aistudio.google.com/apikey",keyPlaceholder:"AIza...",color:"#4285F4",sdkProvider:"google",defaultModel:"gemini-2.5-flash",popularModels:["gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash"]},anthropic:{id:"anthropic",name:"Anthropic",type:"native",description:"Claude models — safe, steerable, and highly capable.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/anthropic.svg",keyUrl:"https://console.anthropic.com/settings/keys",keyPlaceholder:"sk-ant-...",color:"#D97706",sdkProvider:"anthropic",defaultModel:"claude-sonnet-4-20250514",popularModels:["claude-sonnet-4-20250514","claude-haiku-4-20250514","claude-3-5-sonnet-20241022"]},deepseek:{id:"deepseek",name:"DeepSeek",type:"openai-compatible",description:"High-performance open-source models with competitive reasoning.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/deepseek.svg",keyUrl:"https://platform.deepseek.com/api_keys",keyPlaceholder:"sk-...",color:"#4D6BFE",sdkProvider:"openai",baseURL:"https://api.deepseek.com/v1",defaultModel:"deepseek-chat",popularModels:["deepseek-chat","deepseek-reasoner"]},xiaomi:{id:"xiaomi",name:"Xiaomi (MiMo)",type:"openai-compatible",description:"Xiaomi's MiMo models — OpenAI-compatible API.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/xiaomi.svg",keyUrl:"https://platform.xiaomimimo.com/",keyPlaceholder:"tp-...",color:"#FF6900",sdkProvider:"openai",baseURL:"https://token-plan-sgp.xiaomimimo.com/v1",defaultModel:"mimo-v2.5",popularModels:["mimo-v2.5","mimo-v2.5-pro"]},openrouter:{id:"openrouter",name:"OpenRouter",type:"openai-compatible",description:"Unified gateway to 200+ models — Claude, Llama, Mistral, Gemini, and more.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/openrouter.svg",keyUrl:"https://openrouter.ai/keys",keyPlaceholder:"sk-or-...",color:"#6366F1",sdkProvider:"openai",baseURL:"https://openrouter.ai/api/v1",defaultModel:"openrouter/free",popularModels:["openrouter/free","meta-llama/llama-4-maverick:free","google/gemini-2.5-flash:free","deepseek/deepseek-chat-v3-0324:free","mistralai/mistral-small-3.2-24b:free","qwen/qwen3-235b-a22b:free","microsoft/phi-4-reasoning-plus:free"]},groq:{id:"groq",name:"Groq",type:"native",description:"Ultra-fast inference with LPU hardware. Blazing speed for Llama, Mixtral, and Gemma models.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/groq.svg",keyUrl:"https://console.groq.com/keys",keyPlaceholder:"gsk_...",color:"#F55036",sdkProvider:"groq",defaultModel:"llama-3.3-70b-versatile",popularModels:["llama-3.3-70b-versatile","llama-3.1-8b-instant","mixtral-8x7b-32768","gemma2-9b-it","meta-llama/llama-4-scout-17b-16e-instruct","qwen-qwq-32b"]},custom:{id:"custom",name:"Custom (OpenAI-compatible)",type:"openai-compatible",description:"Any OpenAI-compatible API — Ollama, LM Studio, vLLM, LiteLLM, etc.",logoUrl:"",keyUrl:"",keyPlaceholder:"sk-... or any key",color:"#6B7280",sdkProvider:"openai",defaultModel:"",popularModels:[],requiresBaseURL:!0}})},4071:(e,r,o)=>{"use strict";o.r(r),o.d(r,{default:()=>n});var t=o(5155),l=o(2115),a=o(5307),s=o(7669),i=o(3362);function n(){let{activeProviderId:e,setActiveProvider:r}=(0,s.P)(),[o,n]=(0,l.useState)(e);return(0,l.useEffect)(()=>{o||n(e)},[e]),(0,t.jsxs)("div",{className:"h-full overflow-auto relative",children:[(0,t.jsxs)("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[(0,t.jsx)(a.b,{width:40,height:40,x:-1,y:-1,className:"opacity-20"}),(0,t.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(to bottom, var(--bg-primary) 0%, transparent 20%, transparent 80%, var(--bg-primary) 100%)"}})]}),(0,t.jsxs)("div",{className:"relative p-6 max-w-4xl",children:[(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsx)("h2",{className:"text-lg font-medium",style:{color:"var(--text-primary)"},children:"Integrations"}),(0,t.jsx)("p",{className:"text-xs mt-0.5",style:{color:"var(--text-tertiary)"},children:"Connect an AI provider to enable test case generation."})]}),(0,t.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider mb-3",style:{color:"var(--text-tertiary)"},children:"AI Providers"}),(0,t.jsx)("div",{className:"space-y-3",children:i.Pj.map(l=>(0,t.jsx)(d,{def:l,expanded:o===l.id,onToggle:()=>n(e=>e===l.id?null:l.id),isActive:e===l.id,onSetActive:()=>r(l.id)},l.id))})]})]})}function d(e){let{def:r,expanded:o,onToggle:a,isActive:i,onSetActive:n}=e,{config:d,updateProvider:p}=(0,s.P)(),m=d.providers[r.id],[u,v]=(0,l.useState)(!1),[h,x]=(0,l.useState)((null==m?void 0:m.apiKey)||""),[y,g]=(0,l.useState)((null==m?void 0:m.baseURL)||r.baseURL||""),[b,f]=(0,l.useState)(!1),k=(null==m?void 0:m.defaultModel)||r.defaultModel,[j,N]=(0,l.useState)(null),[C,w]=(0,l.useState)(null);(0,l.useEffect)(()=>{o&&m&&!m.connected&&!u&&(x(m.apiKey),g(m.baseURL||r.baseURL||""))},[o]),(0,l.useEffect)(()=>{(null==m?void 0:m.connected)&&m.apiKey&&!m.apiKey.startsWith("enc:")&&fetch("/api/llm/encrypt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:m.apiKey})}).then(e=>e.json()).then(e=>{e.encrypted&&p(r.id,{apiKey:e.encrypted})}).catch(()=>{})},[]);let U=async()=>{let e=h.trim();if(e){f(!0),N(null),w(null);try{let o=await fetch("/api/llm/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:r.id,apiKey:e,baseURL:y.trim()||void 0,model:k})}),t=await o.json();N(t),t.ok&&w(e)}catch(e){N({ok:!1,error:"Network error"})}finally{f(!1)}}},M=async()=>{let e=C||h.trim();if(!e)return;if(!C)return void await U();let o=e;try{let r=await fetch("/api/llm/encrypt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:e})}),t=await r.json();t.encrypted&&(o=t.encrypted)}catch(e){}p(r.id,{apiKey:o,baseURL:y.trim()||r.baseURL||"",connected:!0,models:r.popularModels,defaultModel:(null==m?void 0:m.defaultModel)||r.defaultModel||r.popularModels[0]||"",secondaryModel:(null==m?void 0:m.secondaryModel)||""}),v(!1),N(null),w(null)},P=(e,o)=>{p(r.id,{[e]:o})};if(!m)return null;let L=r.color||"#6B7280";return(0,t.jsxs)("div",{className:"rounded-xl border transition-all overflow-hidden",style:{borderColor:i?L:o?"var(--border-hover)":"var(--border)",backgroundColor:"var(--bg-card)",boxShadow:i?"0 0 0 1px ".concat(L,"20"):void 0},children:[(0,t.jsxs)("button",{onClick:a,className:"w-full px-5 py-4 flex items-center gap-3 text-left transition-colors hover:bg-[var(--bg-secondary)]",children:[(0,t.jsx)("div",{className:"w-11 h-11 rounded-lg flex items-center justify-center overflow-hidden flex-shrink-0",style:{backgroundColor:"".concat(L,"10")},children:r.logoUrl?(0,t.jsx)("img",{src:r.logoUrl,alt:r.name,width:24,height:24,className:"opacity-80",style:{filter:"brightness(0.5)"},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("span",{className:"text-xs font-bold",style:{color:L},children:"API"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-semibold",style:{color:"var(--text-primary)"},children:r.name}),i&&m.connected&&(0,t.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full",style:{backgroundColor:"".concat(L,"15"),color:L},children:"Active"}),(0,t.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full",style:{backgroundColor:m.connected?"var(--status-pass-bg)":"var(--bg-secondary)",color:m.connected?"var(--status-pass-text)":"var(--text-tertiary)"},children:m.connected?"Connected":"Not configured"})]}),(0,t.jsx)("p",{className:"text-[11px] mt-0.5 truncate",style:{color:"var(--text-tertiary)"},children:r.description})]}),(0,t.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0 transition-transform duration-200",style:{transform:o?"rotate(180deg)":"rotate(0deg)"},children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),(0,t.jsx)("div",{style:{maxHeight:o?"600px":"0px",overflow:"hidden",transition:"max-height 250ms ease-out"},children:(0,t.jsxs)("div",{className:"px-5 pb-5 pt-1 space-y-3",children:[u||!m.connected?(0,t.jsxs)("div",{className:"space-y-2",children:[r.requiresBaseURL&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] font-medium uppercase tracking-wider block mb-1",style:{color:"var(--text-tertiary)"},children:"API Base URL"}),(0,t.jsx)("input",{type:"text",value:y,onChange:e=>{g(e.target.value),w(null),N(null)},placeholder:"https://api.example.com/v1",className:"w-full px-3 py-2 text-sm rounded-lg outline-none border transition-colors focus:border-[var(--accent)]",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("input",{type:"password",value:h,onChange:e=>{x(e.target.value),w(null),N(null)},placeholder:r.keyPlaceholder,className:"flex-1 px-3 py-2 text-sm rounded-lg outline-none border transition-colors focus:border-[var(--accent)]",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"},onKeyDown:e=>{"Enter"===e.key&&U()}}),(0,t.jsx)("button",{onClick:U,disabled:b||!h.trim(),className:"px-4 py-2 text-xs font-medium rounded-lg border transition-all hover:bg-[var(--bg-secondary)] disabled:opacity-40",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:b?(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("svg",{className:"animate-spin",width:12,height:12,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10",strokeDasharray:"30 70"})}),"Testing"]}):"Test"}),(0,t.jsx)("button",{onClick:M,disabled:!C&&!h.trim(),className:"px-4 py-2 text-xs font-medium rounded-lg transition-all hover:opacity-90 disabled:opacity-40",style:{backgroundColor:L,color:"#fff"},children:"Connect"}),u&&(0,t.jsx)("button",{onClick:()=>{v(!1),x(m.apiKey),g(m.baseURL||r.baseURL||""),w(null),N(null)},className:"px-3 py-2 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Cancel"})]}),j&&(0,t.jsx)("div",{className:"text-xs px-3 py-2 rounded-lg",style:{backgroundColor:j.ok?"var(--status-pass-bg)":"var(--status-fail-bg)",color:j.ok?"var(--status-pass-text)":"var(--status-fail-text)"},children:j.ok?"Connection verified! Click Connect to save.":"Failed: ".concat(j.error)}),r.keyUrl&&(0,t.jsxs)("p",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:["Get your key at"," ",(0,t.jsx)("a",{href:r.keyUrl,target:"_blank",rel:"noopener noreferrer",style:{color:L,textDecoration:"underline"},children:r.keyUrl.replace("https://","").split("/")[0]})]})]}):(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{onClick:()=>{x(m.apiKey),g(m.baseURL||r.baseURL||""),v(!0)},className:"flex-1 px-3 py-2 text-xs font-medium rounded-lg border transition-all hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Update API Key"}),(0,t.jsx)("button",{onClick:()=>{p(r.id,{apiKey:"",connected:!1,models:[],defaultModel:"",secondaryModel:""}),x(""),g(r.baseURL||""),v(!1),N(null)},className:"px-3 py-2 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--status-fail-bg)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},children:"Disconnect"}),!i&&(0,t.jsx)("button",{onClick:n,className:"px-3 py-2 text-xs font-medium rounded-lg transition-all hover:opacity-90",style:{backgroundColor:L,color:"#fff"},children:"Set Active"})]}),(0,t.jsxs)("div",{className:"pt-3 border-t",style:{borderColor:"var(--border)"},children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] font-medium uppercase tracking-wider block mb-1.5",style:{color:"var(--text-tertiary)"},children:"Default Model"}),(0,t.jsx)(c,{value:m.defaultModel,models:m.models.length>0?m.models:r.popularModels,onChange:e=>P("defaultModel",e)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] font-medium uppercase tracking-wider block mb-1.5",style:{color:"var(--text-tertiary)"},children:"Fallback Model"}),(0,t.jsx)(c,{value:m.secondaryModel,models:m.models.length>0?m.models:r.popularModels,onChange:e=>P("secondaryModel",e),allowEmpty:!0})]})]}),i&&m.connected&&(0,t.jsxs)("div",{className:"mt-2 text-[10px] flex items-center gap-1.5",style:{color:"var(--text-tertiary)"},children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:L}}),"Using ",m.defaultModel,m.secondaryModel?" (fallback: ".concat(m.secondaryModel,")"):""]})]})]})})]})}function c(e){let{value:r,models:o,onChange:a,allowEmpty:s}=e,[i,n]=(0,l.useState)(!1),d=o.includes(r);return i||!d&&""!==r?(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)("input",{type:"text",value:r,onChange:e=>a(e.target.value),placeholder:"model-id",className:"flex-1 px-2.5 py-1.5 text-xs rounded-lg border outline-none transition-colors focus:border-[var(--accent)]",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"}}),o.length>0&&(0,t.jsx)("button",{onClick:()=>{n(!1),a(o[0])},className:"px-2 py-1.5 text-[10px] rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Switch to preset list",children:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})})]}):(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsxs)("select",{value:r,onChange:e=>a(e.target.value),className:"flex-1 px-2.5 py-1.5 text-xs rounded-lg border outline-none transition-colors cursor-pointer",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"},children:[s&&(0,t.jsx)("option",{value:"",children:"None"}),o.map(e=>(0,t.jsx)("option",{value:e,children:e},e))]}),(0,t.jsx)("button",{onClick:()=>n(!0),className:"px-2 py-1.5 text-[10px] rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Enter custom model ID",children:"✏️"})]})}},4269:(e,r,o)=>{"use strict";o.d(r,{cn:()=>a});var t=o(2821),l=o(5889);function a(){for(var e=arguments.length,r=Array(e),o=0;o<e;o++)r[o]=arguments[o];return(0,l.QP)((0,t.$)(r))}},5307:(e,r,o)=>{"use strict";o.d(r,{b:()=>s});var t=o(5155),l=o(2115),a=o(4269);function s(e){let{width:r=40,height:o=40,x:s=-1,y:i=-1,strokeDasharray:n="0",squares:d,className:c,...p}=e,m=(0,l.useId)();return(0,t.jsxs)("svg",{"aria-hidden":"true",className:(0,a.cn)("pointer-events-none absolute inset-0 h-full w-full fill-gray-400/30 stroke-gray-400/30",c),...p,children:[(0,t.jsx)("defs",{children:(0,t.jsx)("pattern",{id:m,width:r,height:o,patternUnits:"userSpaceOnUse",x:s,y:i,children:(0,t.jsx)("path",{d:"M.5 ".concat(o,"V.5H").concat(r),fill:"none",strokeDasharray:n})})}),(0,t.jsx)("rect",{width:"100%",height:"100%",strokeWidth:0,fill:"url(#".concat(m,")")}),d&&(0,t.jsx)("svg",{x:s,y:i,className:"overflow-visible",children:d.map(e=>{let[l,a]=e;return(0,t.jsx)("rect",{strokeWidth:"0",width:r-1,height:o-1,x:l*r+1,y:a*o+1},"".concat(l,"-").concat(a))})})]})}},7669:(e,r,o)=>{"use strict";o.d(r,{P:()=>c});var t=o(2115),l=o(3362);let a="qa-llm-config",s={apiKey:"",baseURL:"",defaultModel:"",secondaryModel:"",models:[],connected:!1};function i(){let e={};for(let r of l.Pj)e[r.id]={...s,baseURL:r.baseURL||""};return{activeProvider:null,providers:e}}function n(){try{let r=localStorage.getItem(a);if(!r)return i();let o=JSON.parse(r);if(o.provider&&o.apiKey&&!o.providers){let e=i();return{...e,activeProvider:null,providers:{...e.providers,google:{...s,apiKey:o.apiKey,connected:!0}}}}let t=i(),n={...t,...o,providers:{...t.providers}};for(let r of l.Pj){var e;let t=null==(e=o.providers)?void 0:e[r.id];n.providers[r.id]={...s,baseURL:r.baseURL||"",...t}}return n}catch(e){return i()}}function d(e){try{localStorage.setItem(a,JSON.stringify(e))}catch(e){}}function c(){let[e,r]=(0,t.useState)(i),[o,l]=(0,t.useState)(!1);(0,t.useEffect)(()=>{r(n()),l(!0)},[]);let a=(0,t.useCallback)((e,o)=>{let t=n(),l={...t,providers:{...t.providers,[e]:{...t.providers[e],...o}}};d(l),r(l)},[]),s=(0,t.useCallback)(e=>{let o={...n(),activeProvider:e};d(o),r(o)},[]),c=e.activeProvider?e.providers[e.activeProvider]:null,p=o&&!!c&&c.apiKey.length>0&&c.connected;return{config:e,loaded:o,isConnected:p,activeProvider:c,activeProviderId:e.activeProvider,updateProvider:a,setActiveProvider:s}}}},e=>{e.O(0,[909,441,255,358],()=>e(e.s=2850)),_N_E=e.O()}]);