test-lah 1.0.8 → 1.0.9
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +46 -36
- package/.next/standalone/.next/app-path-routes-manifest.json +6 -5
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +24 -24
- package/.next/standalone/.next/server/app/(dashboard)/integrations/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js +17 -70
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page.js +2 -22
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +34 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/api/e2e/route.js +13 -2
- package/.next/standalone/.next/server/app/api/e2e/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/generate/route.js +13 -2
- package/.next/standalone/.next/server/app/api/generate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/llm/encrypt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/llm/test/route.js +13 -2
- package/.next/standalone/.next/server/app/api/llm/test/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/refine-notes/route.js +29 -0
- package/.next/standalone/.next/server/app/api/refine-notes/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/refine-notes/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/weather/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/integrations.html +1 -1
- package/.next/standalone/.next/server/app/integrations.rsc +4 -4
- package/.next/standalone/.next/server/app/login/page.js +2 -2
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +3 -3
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +6 -5
- package/.next/standalone/.next/server/chunks/423.js +62 -0
- package/.next/standalone/.next/server/chunks/615.js +2 -2
- package/.next/standalone/.next/server/chunks/736.js +2 -2
- package/.next/standalone/.next/server/chunks/779.js +1 -0
- package/.next/standalone/.next/server/chunks/845.js +5 -5
- package/.next/standalone/.next/server/chunks/898.js +21 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/172-84d6b7afea495880.js +1 -0
- package/.next/standalone/.next/static/chunks/246-28370f424ce95be6.js +1 -0
- package/.next/standalone/.next/static/chunks/253-d1beae5e3cf2d88e.js +1 -0
- package/.next/standalone/.next/static/chunks/642-d84ad067810dd35b.js +1 -0
- package/.next/standalone/.next/static/chunks/661-a763fedcbf90af81.js +1 -0
- package/.next/standalone/.next/static/chunks/793-7306e111aea85b00.js +1 -0
- package/.next/standalone/.next/static/chunks/968-a7dcf12036013254.js +62 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-d62f7774ba0ed3ab.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-e4ed5abcbb7c8802.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-0d320c1bd8d89d9c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-1b2e89d37c95e30f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-5f4191feafff095a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/e2e/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/generate/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/llm/encrypt/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/llm/test/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/refine-notes/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/weather/route-234cc6154c5cd194.js +1 -0
- package/.next/{static/chunks/app/login/page-a655de2a3e8514f8.js → standalone/.next/static/chunks/app/login/page-35c717d39c71dcbf.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/page-dd12a450edb4a44d.js +1 -0
- package/.next/standalone/.next/static/css/d31bdcc43c2da03c.css +3 -0
- package/.next/standalone/.next/static/pu5ThH8RrsP9e4dTXjYwA/_buildManifest.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/static/chunks/172-84d6b7afea495880.js +1 -0
- package/.next/static/chunks/246-28370f424ce95be6.js +1 -0
- package/.next/static/chunks/253-d1beae5e3cf2d88e.js +1 -0
- package/.next/static/chunks/642-d84ad067810dd35b.js +1 -0
- package/.next/static/chunks/661-a763fedcbf90af81.js +1 -0
- package/.next/static/chunks/793-7306e111aea85b00.js +1 -0
- package/.next/static/chunks/968-a7dcf12036013254.js +62 -0
- package/.next/static/chunks/app/(dashboard)/integrations/page-d62f7774ba0ed3ab.js +1 -0
- package/.next/static/chunks/app/(dashboard)/layout-e4ed5abcbb7c8802.js +1 -0
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-0d320c1bd8d89d9c.js +1 -0
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-1b2e89d37c95e30f.js +1 -0
- package/.next/static/chunks/app/(dashboard)/projects/page-5f4191feafff095a.js +1 -0
- package/.next/static/chunks/app/api/e2e/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/generate/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/llm/encrypt/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/llm/test/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/refine-notes/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/weather/route-234cc6154c5cd194.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/login/page-a655de2a3e8514f8.js → static/chunks/app/login/page-35c717d39c71dcbf.js} +1 -1
- package/.next/static/chunks/app/page-dd12a450edb4a44d.js +1 -0
- package/.next/static/css/d31bdcc43c2da03c.css +3 -0
- package/.next/static/pu5ThH8RrsP9e4dTXjYwA/_buildManifest.js +1 -0
- package/README.md +27 -4
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/350.js +0 -21
- package/.next/standalone/.next/server/chunks/403.js +0 -1
- package/.next/standalone/.next/server/chunks/583.js +0 -1
- package/.next/standalone/.next/static/5bU_Xo0_CNnVnb2HQeysr/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/246-1673b37cc8edb269.js +0 -1
- package/.next/standalone/.next/static/chunks/485-23e4a6e33ee79f14.js +0 -1
- package/.next/standalone/.next/static/chunks/532-95cb537bb36c2e68.js +0 -62
- package/.next/standalone/.next/static/chunks/637-dcbc811f7143935f.js +0 -1
- package/.next/standalone/.next/static/chunks/708-1fc7a6d1d5b4aee7.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-f5e71fcfbeffdfb1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-a5bf2535f1470c77.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-7205f74080ad5010.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-b69fc155f1796e19.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/e2e/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/generate/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/llm/encrypt/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/llm/test/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/weather/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-a90eeaea3538ebf2.js +0 -1
- package/.next/standalone/.next/static/css/f78c165472d53f48.css +0 -3
- package/.next/static/5bU_Xo0_CNnVnb2HQeysr/_buildManifest.js +0 -1
- package/.next/static/chunks/246-1673b37cc8edb269.js +0 -1
- package/.next/static/chunks/485-23e4a6e33ee79f14.js +0 -1
- package/.next/static/chunks/532-95cb537bb36c2e68.js +0 -62
- package/.next/static/chunks/637-dcbc811f7143935f.js +0 -1
- package/.next/static/chunks/708-1fc7a6d1d5b4aee7.js +0 -1
- package/.next/static/chunks/app/(dashboard)/integrations/page-f5e71fcfbeffdfb1.js +0 -1
- package/.next/static/chunks/app/(dashboard)/layout-a5bf2535f1470c77.js +0 -1
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-7205f74080ad5010.js +0 -1
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-b69fc155f1796e19.js +0 -1
- package/.next/static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js +0 -1
- package/.next/static/chunks/app/api/e2e/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/generate/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/llm/encrypt/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/llm/test/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/weather/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/page-a90eeaea3538ebf2.js +0 -1
- package/.next/static/css/f78c165472d53f48.css +0 -3
- /package/.next/standalone/.next/static/{5bU_Xo0_CNnVnb2HQeysr → pu5ThH8RrsP9e4dTXjYwA}/_ssgManifest.js +0 -0
- /package/.next/static/{5bU_Xo0_CNnVnb2HQeysr → pu5ThH8RrsP9e4dTXjYwA}/_ssgManifest.js +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"/_not-found/page": "app/_not-found/page.js",
|
|
3
2
|
"/api/e2e/route": "app/api/e2e/route.js",
|
|
4
3
|
"/api/generate/route": "app/api/generate/route.js",
|
|
5
|
-
"/api/llm/test/route": "app/api/llm/test/route.js",
|
|
6
4
|
"/api/llm/encrypt/route": "app/api/llm/encrypt/route.js",
|
|
7
|
-
"/
|
|
5
|
+
"/api/llm/test/route": "app/api/llm/test/route.js",
|
|
6
|
+
"/api/refine-notes/route": "app/api/refine-notes/route.js",
|
|
8
7
|
"/api/weather/route": "app/api/weather/route.js",
|
|
9
|
-
"/
|
|
8
|
+
"/favicon.ico/route": "app/favicon.ico/route.js",
|
|
9
|
+
"/_not-found/page": "app/_not-found/page.js",
|
|
10
10
|
"/login/page": "app/login/page.js",
|
|
11
|
+
"/page": "app/page.js",
|
|
12
|
+
"/(dashboard)/integrations/page": "app/(dashboard)/integrations/page.js",
|
|
11
13
|
"/(dashboard)/projects/[projectId]/page": "app/(dashboard)/projects/[projectId]/page.js",
|
|
12
14
|
"/(dashboard)/projects/[projectId]/summary/page": "app/(dashboard)/projects/[projectId]/summary/page.js",
|
|
13
|
-
"/(dashboard)/integrations/page": "app/(dashboard)/integrations/page.js",
|
|
14
15
|
"/(dashboard)/projects/page": "app/(dashboard)/projects/page.js"
|
|
15
16
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";exports.id=423,exports.ids=[423],exports.modules={67423:(a,b,c)=>{var d,e;function f(a,b,c){function d(c,d){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:d,constr:g,traits:new Set},enumerable:!1}),c._zod.traits.has(a))return;c._zod.traits.add(a),b(c,d);let e=g.prototype,f=Object.keys(e);for(let a=0;a<f.length;a++){let b=f[a];b in c||(c[b]=e[b].bind(c))}}let e=c?.Parent??Object;class f extends e{}function g(a){var b;let e=c?.Parent?new f:this;for(let c of(d(e,a),(b=e._zod).deferred??(b.deferred=[]),e._zod.deferred))c();return e}return Object.defineProperty(f,"name",{value:a}),Object.defineProperty(g,"init",{value:d}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>!!c?.Parent&&b instanceof c.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(g,"name",{value:a}),g}c.d(b,{EB:()=>b3,Ik:()=>cs,Yj:()=>b2}),Symbol("zod_brand");class g extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class h extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}(d=globalThis).__zod_globalConfig??(d.__zod_globalConfig={});let i=globalThis.__zod_globalConfig;function j(a){return a&&Object.assign(i,a),i}let k=/^[cC][0-9a-z]{6,}$/,l=/^[0-9a-z]+$/,m=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,n=/^[0-9a-vA-V]{20}$/,o=/^[A-Za-z0-9]{27}$/,p=/^[a-zA-Z0-9_-]{21}$/,q=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,r=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,s=a=>a?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${a}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,t=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,u=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,v=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,w=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,x=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,y=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,z=/^[A-Za-z0-9_-]*$/,A=/^https?$/,B=/^\+[1-9]\d{6,14}$/,C="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",D=RegExp(`^${C}$`);function E(a){let b="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof a.precision?-1===a.precision?`${b}`:0===a.precision?`${b}:[0-5]\\d`:`${b}:[0-5]\\d\\.\\d{${a.precision}}`:`${b}(?::[0-5]\\d(?:\\.\\d+)?)?`}let F=/^[^A-Z]*$/,G=/^[^a-z]*$/;function H(a){let b=Object.values(a).filter(a=>"number"==typeof a);return Object.entries(a).filter(([a,c])=>-1===b.indexOf(+a)).map(([a,b])=>b)}function I(a,b){return"bigint"==typeof b?b.toString():b}function J(a){return{get value(){{let b=a();return Object.defineProperty(this,"value",{value:b}),b}}}}function K(a){let b=+!!a.startsWith("^"),c=a.endsWith("$")?a.length-1:a.length;return a.slice(b,c)}let L=Symbol("evaluating");function M(a,b,c){let d;Object.defineProperty(a,b,{get(){if(d!==L)return void 0===d&&(d=L,d=c()),d},set(c){Object.defineProperty(a,b,{value:c})},configurable:!0})}function N(a,b,c){Object.defineProperty(a,b,{value:c,writable:!0,enumerable:!0,configurable:!0})}function O(...a){let b={};for(let c of a)Object.assign(b,Object.getOwnPropertyDescriptors(c));return Object.defineProperties({},b)}function P(a){return JSON.stringify(a)}let Q="captureStackTrace"in Error?Error.captureStackTrace:(...a)=>{};function R(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let S=J(()=>{if(i.jitless||"undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(a){return!1}});function T(a){if(!1===R(a))return!1;let b=a.constructor;if(void 0===b||"function"!=typeof b)return!0;let c=b.prototype;return!1!==R(c)&&!1!==Object.prototype.hasOwnProperty.call(c,"isPrototypeOf")}function U(a){return T(a)?{...a}:Array.isArray(a)?[...a]:a instanceof Map?new Map(a):a instanceof Set?new Set(a):a}let V=new Set(["string","number","symbol"]);function W(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function X(a,b,c){let d=new a._zod.constr(b??a._zod.def);return(!b||c?.parent)&&(d._zod.parent=a),d}function Y(a){if(!a)return{};if("string"==typeof a)return{error:()=>a};if(a?.message!==void 0){if(a?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");a.error=a.message}return(delete a.message,"string"==typeof a.error)?{...a,error:()=>a.error}:a}function Z(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue!==!0)return!0;return!1}function $(a,b){return b.map(b=>(b.path??(b.path=[]),b.path.unshift(a),b))}function _(a){return"string"==typeof a?a:a?.message}function aa(a,b,c){let d=a.message?a.message:_(a.inst?._zod.def?.error?.(a))??_(b?.error?.(a))??_(c.customError?.(a))??_(c.localeError?.(a))??"Invalid input",{inst:e,continue:f,input:g,...h}=a;return h.path??(h.path=[]),h.message=d,b?.reportInput&&(h.input=g),h}function ab(a){return Array.isArray(a)?"array":"string"==typeof a?"string":"unknown"}function ac(...a){let[b,c,d]=a;return"string"==typeof b?{message:b,code:"custom",input:c,inst:d}:{...b}}Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MAX_VALUE,Number.MAX_VALUE;let ad=f("$ZodCheck",(a,b)=>{var c;a._zod??(a._zod={}),a._zod.def=b,(c=a._zod).onattach??(c.onattach=[])}),ae=f("$ZodCheckMaxLength",(a,b)=>{var c;ad.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.maximum??1/0;b.maximum<c&&(a._zod.bag.maximum=b.maximum)}),a._zod.check=c=>{let d=c.value;if(d.length<=b.maximum)return;let e=ab(d);c.issues.push({origin:e,code:"too_big",maximum:b.maximum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),af=f("$ZodCheckMinLength",(a,b)=>{var c;ad.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.minimum??-1/0;b.minimum>c&&(a._zod.bag.minimum=b.minimum)}),a._zod.check=c=>{let d=c.value;if(d.length>=b.minimum)return;let e=ab(d);c.issues.push({origin:e,code:"too_small",minimum:b.minimum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),ag=f("$ZodCheckLengthEquals",(a,b)=>{var c;ad.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag;c.minimum=b.length,c.maximum=b.length,c.length=b.length}),a._zod.check=c=>{let d=c.value,e=d.length;if(e===b.length)return;let f=ab(d),g=e>b.length;c.issues.push({origin:f,...g?{code:"too_big",maximum:b.length}:{code:"too_small",minimum:b.length},inclusive:!0,exact:!0,input:c.value,inst:a,continue:!b.abort})}}),ah=f("$ZodCheckStringFormat",(a,b)=>{var c,d;ad.init(a,b),a._zod.onattach.push(a=>{let c=a._zod.bag;c.format=b.format,b.pattern&&(c.patterns??(c.patterns=new Set),c.patterns.add(b.pattern))}),b.pattern?(c=a._zod).check??(c.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:b.format,input:c.value,...b.pattern?{pattern:b.pattern.toString()}:{},inst:a,continue:!b.abort})}):(d=a._zod).check??(d.check=()=>{})}),ai=f("$ZodCheckRegex",(a,b)=>{ah.init(a,b),a._zod.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:"regex",input:c.value,pattern:b.pattern.toString(),inst:a,continue:!b.abort})}}),aj=f("$ZodCheckLowerCase",(a,b)=>{b.pattern??(b.pattern=F),ah.init(a,b)}),ak=f("$ZodCheckUpperCase",(a,b)=>{b.pattern??(b.pattern=G),ah.init(a,b)}),al=f("$ZodCheckIncludes",(a,b)=>{ad.init(a,b);let c=W(b.includes),d=new RegExp("number"==typeof b.position?`^.{${b.position}}${c}`:c);b.pattern=d,a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(d)}),a._zod.check=c=>{c.value.includes(b.includes,b.position)||c.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:b.includes,input:c.value,inst:a,continue:!b.abort})}}),am=f("$ZodCheckStartsWith",(a,b)=>{ad.init(a,b);let c=RegExp(`^${W(b.prefix)}.*`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.startsWith(b.prefix)||c.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:b.prefix,input:c.value,inst:a,continue:!b.abort})}}),an=f("$ZodCheckEndsWith",(a,b)=>{ad.init(a,b);let c=RegExp(`.*${W(b.suffix)}$`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.endsWith(b.suffix)||c.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:b.suffix,input:c.value,inst:a,continue:!b.abort})}}),ao=f("$ZodCheckOverwrite",(a,b)=>{ad.init(a,b),a._zod.check=a=>{a.value=b.tx(a.value)}});class ap{constructor(a=[]){this.content=[],this.indent=0,this&&(this.args=a)}indented(a){this.indent+=1,a(this),this.indent-=1}write(a){if("function"==typeof a){a(this,{execution:"sync"}),a(this,{execution:"async"});return}let b=a.split("\n").filter(a=>a),c=Math.min(...b.map(a=>a.length-a.trimStart().length));for(let a of b.map(a=>a.slice(c)).map(a=>" ".repeat(2*this.indent)+a))this.content.push(a)}compile(){return Function(...this?.args,[...(this?.content??[""]).map(a=>` ${a}`)].join("\n"))}}let aq=(a,b)=>{a.name="$ZodError",Object.defineProperty(a,"_zod",{value:a._zod,enumerable:!1}),Object.defineProperty(a,"issues",{value:b,enumerable:!1}),a.message=JSON.stringify(b,I,2),Object.defineProperty(a,"toString",{value:()=>a.message,enumerable:!1})},ar=f("$ZodError",aq),as=f("$ZodError",aq,{Parent:Error}),at=a=>(b,c,d,e)=>{let f=d?{...d,async:!1}:{async:!1},h=b._zod.run({value:c,issues:[]},f);if(h instanceof Promise)throw new g;if(h.issues.length){let b=new(e?.Err??a)(h.issues.map(a=>aa(a,f,j())));throw Q(b,e?.callee),b}return h.value},au=a=>async(b,c,d,e)=>{let f=d?{...d,async:!0}:{async:!0},g=b._zod.run({value:c,issues:[]},f);if(g instanceof Promise&&(g=await g),g.issues.length){let b=new(e?.Err??a)(g.issues.map(a=>aa(a,f,j())));throw Q(b,e?.callee),b}return g.value},av=a=>(b,c,d)=>{let e=d?{...d,async:!1}:{async:!1},f=b._zod.run({value:c,issues:[]},e);if(f instanceof Promise)throw new g;return f.issues.length?{success:!1,error:new(a??ar)(f.issues.map(a=>aa(a,e,j())))}:{success:!0,data:f.value}},aw=av(as),ax=a=>async(b,c,d)=>{let e=d?{...d,async:!0}:{async:!0},f=b._zod.run({value:c,issues:[]},e);return f instanceof Promise&&(f=await f),f.issues.length?{success:!1,error:new a(f.issues.map(a=>aa(a,e,j())))}:{success:!0,data:f.value}},ay=ax(as),az={major:4,minor:4,patch:3},aA=f("$ZodType",(a,b)=>{var c;a??(a={}),a._zod.def=b,a._zod.bag=a._zod.bag||{},a._zod.version=az;let d=[...a._zod.def.checks??[]];for(let b of(a._zod.traits.has("$ZodCheck")&&d.unshift(a),d))for(let c of b._zod.onattach)c(a);if(0===d.length)(c=a._zod).deferred??(c.deferred=[]),a._zod.deferred?.push(()=>{a._zod.run=a._zod.parse});else{let b=(a,b,c)=>{let d,e=Z(a);for(let f of b){if(f._zod.def.when){if(function(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue===!1)return!0;return!1}(a)||!f._zod.def.when(a))continue}else if(e)continue;let b=a.issues.length,h=f._zod.check(a);if(h instanceof Promise&&c?.async===!1)throw new g;if(d||h instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await h,a.issues.length!==b&&(e||(e=Z(a,b)))});else{if(a.issues.length===b)continue;e||(e=Z(a,b))}}return d?d.then(()=>a):a},c=(c,e,f)=>{if(Z(c))return c.aborted=!0,c;let h=b(e,d,f);if(h instanceof Promise){if(!1===f.async)throw new g;return h.then(b=>a._zod.parse(b,f))}return a._zod.parse(h,f)};a._zod.run=(e,f)=>{if(f.skipChecks)return a._zod.parse(e,f);if("backward"===f.direction){let b=a._zod.parse({value:e.value,issues:[]},{...f,skipChecks:!0});return b instanceof Promise?b.then(a=>c(a,e,f)):c(b,e,f)}let h=a._zod.parse(e,f);if(h instanceof Promise){if(!1===f.async)throw new g;return h.then(a=>b(a,d,f))}return b(h,d,f)}}M(a,"~standard",()=>({validate:b=>{try{let c=aw(a,b);return c.success?{value:c.data}:{issues:c.error?.issues}}catch(c){return ay(a,b).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),aB=f("$ZodString",(a,b)=>{aA.init(a,b),a._zod.pattern=[...a?._zod.bag?.patterns??[]].pop()??(a=>{let b=a?`[\\s\\S]{${a?.minimum??0},${a?.maximum??""}}`:"[\\s\\S]*";return RegExp(`^${b}$`)})(a._zod.bag),a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=String(c.value)}catch(a){}return"string"==typeof c.value||c.issues.push({expected:"string",code:"invalid_type",input:c.value,inst:a}),c}}),aC=f("$ZodStringFormat",(a,b)=>{ah.init(a,b),aB.init(a,b)}),aD=f("$ZodGUID",(a,b)=>{b.pattern??(b.pattern=r),aC.init(a,b)}),aE=f("$ZodUUID",(a,b)=>{if(b.version){let a={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[b.version];if(void 0===a)throw Error(`Invalid UUID version: "${b.version}"`);b.pattern??(b.pattern=s(a))}else b.pattern??(b.pattern=s());aC.init(a,b)}),aF=f("$ZodEmail",(a,b)=>{b.pattern??(b.pattern=t),aC.init(a,b)}),aG=f("$ZodURL",(a,b)=>{aC.init(a,b),a._zod.check=c=>{try{let d=c.value.trim();if(!b.normalize&&b.protocol?.source===A.source&&!/^https?:\/\//i.test(d))return void c.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:c.value,inst:a,continue:!b.abort});let e=new URL(d);b.hostname&&(b.hostname.lastIndex=0,b.hostname.test(e.hostname)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:b.hostname.source,input:c.value,inst:a,continue:!b.abort})),b.protocol&&(b.protocol.lastIndex=0,b.protocol.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:b.protocol.source,input:c.value,inst:a,continue:!b.abort})),b.normalize?c.value=e.href:c.value=d;return}catch(d){c.issues.push({code:"invalid_format",format:"url",input:c.value,inst:a,continue:!b.abort})}}}),aH=f("$ZodEmoji",(a,b)=>{b.pattern??(b.pattern=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),aC.init(a,b)}),aI=f("$ZodNanoID",(a,b)=>{b.pattern??(b.pattern=p),aC.init(a,b)}),aJ=f("$ZodCUID",(a,b)=>{b.pattern??(b.pattern=k),aC.init(a,b)}),aK=f("$ZodCUID2",(a,b)=>{b.pattern??(b.pattern=l),aC.init(a,b)}),aL=f("$ZodULID",(a,b)=>{b.pattern??(b.pattern=m),aC.init(a,b)}),aM=f("$ZodXID",(a,b)=>{b.pattern??(b.pattern=n),aC.init(a,b)}),aN=f("$ZodKSUID",(a,b)=>{b.pattern??(b.pattern=o),aC.init(a,b)}),aO=f("$ZodISODateTime",(a,b)=>{b.pattern??(b.pattern=function(a){let b=E({precision:a.precision}),c=["Z"];a.local&&c.push(""),a.offset&&c.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let d=`${b}(?:${c.join("|")})`;return RegExp(`^${C}T(?:${d})$`)}(b)),aC.init(a,b)}),aP=f("$ZodISODate",(a,b)=>{b.pattern??(b.pattern=D),aC.init(a,b)}),aQ=f("$ZodISOTime",(a,b)=>{b.pattern??(b.pattern=RegExp(`^${E(b)}$`)),aC.init(a,b)}),aR=f("$ZodISODuration",(a,b)=>{b.pattern??(b.pattern=q),aC.init(a,b)}),aS=f("$ZodIPv4",(a,b)=>{b.pattern??(b.pattern=u),aC.init(a,b),a._zod.bag.format="ipv4"}),aT=f("$ZodIPv6",(a,b)=>{b.pattern??(b.pattern=v),aC.init(a,b),a._zod.bag.format="ipv6",a._zod.check=c=>{try{new URL(`http://[${c.value}]`)}catch{c.issues.push({code:"invalid_format",format:"ipv6",input:c.value,inst:a,continue:!b.abort})}}}),aU=f("$ZodCIDRv4",(a,b)=>{b.pattern??(b.pattern=w),aC.init(a,b)}),aV=f("$ZodCIDRv6",(a,b)=>{b.pattern??(b.pattern=x),aC.init(a,b),a._zod.check=c=>{let d=c.value.split("/");try{if(2!==d.length)throw Error();let[a,b]=d;if(!b)throw Error();let c=Number(b);if(`${c}`!==b||c<0||c>128)throw Error();new URL(`http://[${a}]`)}catch{c.issues.push({code:"invalid_format",format:"cidrv6",input:c.value,inst:a,continue:!b.abort})}}});function aW(a){if(""===a)return!0;if(/\s/.test(a)||a.length%4!=0)return!1;try{return atob(a),!0}catch{return!1}}let aX=f("$ZodBase64",(a,b)=>{b.pattern??(b.pattern=y),aC.init(a,b),a._zod.bag.contentEncoding="base64",a._zod.check=c=>{aW(c.value)||c.issues.push({code:"invalid_format",format:"base64",input:c.value,inst:a,continue:!b.abort})}}),aY=f("$ZodBase64URL",(a,b)=>{b.pattern??(b.pattern=z),aC.init(a,b),a._zod.bag.contentEncoding="base64url",a._zod.check=c=>{!function(a){if(!z.test(a))return!1;let b=a.replace(/[-_]/g,a=>"-"===a?"+":"/");return aW(b.padEnd(4*Math.ceil(b.length/4),"="))}(c.value)&&c.issues.push({code:"invalid_format",format:"base64url",input:c.value,inst:a,continue:!b.abort})}}),aZ=f("$ZodE164",(a,b)=>{b.pattern??(b.pattern=B),aC.init(a,b)}),a$=f("$ZodJWT",(a,b)=>{aC.init(a,b),a._zod.check=c=>{!function(a,b=null){try{let c=a.split(".");if(3!==c.length)return!1;let[d]=c;if(!d)return!1;let e=JSON.parse(atob(d));if("typ"in e&&e?.typ!=="JWT"||!e.alg||b&&(!("alg"in e)||e.alg!==b))return!1;return!0}catch{return!1}}(c.value,b.alg)&&c.issues.push({code:"invalid_format",format:"jwt",input:c.value,inst:a,continue:!b.abort})}}),a_=f("$ZodUnknown",(a,b)=>{aA.init(a,b),a._zod.parse=a=>a}),a0=f("$ZodNever",(a,b)=>{aA.init(a,b),a._zod.parse=(b,c)=>(b.issues.push({expected:"never",code:"invalid_type",input:b.value,inst:a}),b)});function a1(a,b,c){a.issues.length&&b.issues.push(...$(c,a.issues)),b.value[c]=a.value}let a2=f("$ZodArray",(a,b)=>{aA.init(a,b),a._zod.parse=(c,d)=>{let e=c.value;if(!Array.isArray(e))return c.issues.push({expected:"array",code:"invalid_type",input:e,inst:a}),c;c.value=Array(e.length);let f=[];for(let a=0;a<e.length;a++){let g=e[a],h=b.element._zod.run({value:g,issues:[]},d);h instanceof Promise?f.push(h.then(b=>a1(b,c,a))):a1(h,c,a)}return f.length?Promise.all(f).then(()=>c):c}});function a3(a,b,c,d,e,f){let g=c in d;if(a.issues.length){if(e&&f&&!g)return;b.issues.push(...$(c,a.issues))}if(!g&&!e){a.issues.length||b.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[c]});return}void 0===a.value?g&&(b.value[c]=void 0):b.value[c]=a.value}function a4(a){var b;let c=Object.keys(a.shape);for(let b of c)if(!a.shape?.[b]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${b}": expected a Zod schema`);let d=Object.keys(b=a.shape).filter(a=>"optional"===b[a]._zod.optin&&"optional"===b[a]._zod.optout);return{...a,keys:c,keySet:new Set(c),numKeys:c.length,optionalKeys:new Set(d)}}function a5(a,b,c,d,e,f){let g=[],h=e.keySet,i=e.catchall._zod,j=i.def.type,k="optional"===i.optin,l="optional"===i.optout;for(let e in b){if("__proto__"===e||h.has(e))continue;if("never"===j){g.push(e);continue}let f=i.run({value:b[e],issues:[]},d);f instanceof Promise?a.push(f.then(a=>a3(a,c,e,b,k,l))):a3(f,c,e,b,k,l)}return(g.length&&c.issues.push({code:"unrecognized_keys",keys:g,input:b,inst:f}),a.length)?Promise.all(a).then(()=>c):c}let a6=f("$ZodObject",(a,b)=>{let c;aA.init(a,b);let d=Object.getOwnPropertyDescriptor(b,"shape");if(!d?.get){let a=b.shape;Object.defineProperty(b,"shape",{get:()=>{let c={...a};return Object.defineProperty(b,"shape",{value:c}),c}})}let e=J(()=>a4(b));M(a._zod,"propValues",()=>{let a=b.shape,c={};for(let b in a){let d=a[b]._zod;if(d.values)for(let a of(c[b]??(c[b]=new Set),d.values))c[b].add(a)}return c});let f=b.catchall;a._zod.parse=(b,d)=>{c??(c=e.value);let g=b.value;if(!R(g))return b.issues.push({expected:"object",code:"invalid_type",input:g,inst:a}),b;b.value={};let h=[],i=c.shape;for(let a of c.keys){let c=i[a],e="optional"===c._zod.optin,f="optional"===c._zod.optout,j=c._zod.run({value:g[a],issues:[]},d);j instanceof Promise?h.push(j.then(c=>a3(c,b,a,g,e,f))):a3(j,b,a,g,e,f)}return f?a5(h,g,b,d,e.value,a):h.length?Promise.all(h).then(()=>b):b}}),a7=f("$ZodObjectJIT",(a,b)=>{let c,d;a6.init(a,b);let e=a._zod.parse,f=J(()=>a4(b)),g=!i.jitless,h=g&&S.value,j=b.catchall;a._zod.parse=(i,k)=>{d??(d=f.value);let l=i.value;return R(l)?g&&h&&k?.async===!1&&!0!==k.jitless?(c||(c=(a=>{let b=new ap(["shape","payload","ctx"]),c=f.value,d=a=>{let b=P(a);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};b.write("const input = payload.value;");let e=Object.create(null),g=0;for(let a of c.keys)e[a]=`key_${g++}`;for(let f of(b.write("const newResult = {};"),c.keys)){let c=e[f],g=P(f),h=a[f],i=h?._zod?.optin==="optional",j=h?._zod?.optout==="optional";b.write(`const ${c} = ${d(f)};`),i&&j?b.write(`
|
|
2
|
+
if (${c}.issues.length) {
|
|
3
|
+
if (${g} in input) {
|
|
4
|
+
payload.issues = payload.issues.concat(${c}.issues.map(iss => ({
|
|
5
|
+
...iss,
|
|
6
|
+
path: iss.path ? [${g}, ...iss.path] : [${g}]
|
|
7
|
+
})));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
if (${c}.value === undefined) {
|
|
12
|
+
if (${g} in input) {
|
|
13
|
+
newResult[${g}] = undefined;
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
newResult[${g}] = ${c}.value;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
`):i?b.write(`
|
|
20
|
+
if (${c}.issues.length) {
|
|
21
|
+
payload.issues = payload.issues.concat(${c}.issues.map(iss => ({
|
|
22
|
+
...iss,
|
|
23
|
+
path: iss.path ? [${g}, ...iss.path] : [${g}]
|
|
24
|
+
})));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (${c}.value === undefined) {
|
|
28
|
+
if (${g} in input) {
|
|
29
|
+
newResult[${g}] = undefined;
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
newResult[${g}] = ${c}.value;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
`):b.write(`
|
|
36
|
+
const ${c}_present = ${g} in input;
|
|
37
|
+
if (${c}.issues.length) {
|
|
38
|
+
payload.issues = payload.issues.concat(${c}.issues.map(iss => ({
|
|
39
|
+
...iss,
|
|
40
|
+
path: iss.path ? [${g}, ...iss.path] : [${g}]
|
|
41
|
+
})));
|
|
42
|
+
}
|
|
43
|
+
if (!${c}_present && !${c}.issues.length) {
|
|
44
|
+
payload.issues.push({
|
|
45
|
+
code: "invalid_type",
|
|
46
|
+
expected: "nonoptional",
|
|
47
|
+
input: undefined,
|
|
48
|
+
path: [${g}]
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (${c}_present) {
|
|
53
|
+
if (${c}.value === undefined) {
|
|
54
|
+
newResult[${g}] = undefined;
|
|
55
|
+
} else {
|
|
56
|
+
newResult[${g}] = ${c}.value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
`)}b.write("payload.value = newResult;"),b.write("return payload;");let h=b.compile();return(b,c)=>h(a,b,c)})(b.shape)),i=c(i,k),j)?a5([],l,i,k,d,a):i:e(i,k):(i.issues.push({expected:"object",code:"invalid_type",input:l,inst:a}),i)}});function a8(a,b,c,d){for(let c of a)if(0===c.issues.length)return b.value=c.value,b;let e=a.filter(a=>!Z(a));return 1===e.length?(b.value=e[0].value,e[0]):(b.issues.push({code:"invalid_union",input:b.value,inst:c,errors:a.map(a=>a.issues.map(a=>aa(a,d,j())))}),b)}let a9=f("$ZodUnion",(a,b)=>{aA.init(a,b),M(a._zod,"optin",()=>b.options.some(a=>"optional"===a._zod.optin)?"optional":void 0),M(a._zod,"optout",()=>b.options.some(a=>"optional"===a._zod.optout)?"optional":void 0),M(a._zod,"values",()=>{if(b.options.every(a=>a._zod.values))return new Set(b.options.flatMap(a=>Array.from(a._zod.values)))}),M(a._zod,"pattern",()=>{if(b.options.every(a=>a._zod.pattern)){let a=b.options.map(a=>a._zod.pattern);return RegExp(`^(${a.map(a=>K(a.source)).join("|")})$`)}});let c=1===b.options.length?b.options[0]._zod.run:null;a._zod.parse=(d,e)=>{if(c)return c(d,e);let f=!1,g=[];for(let a of b.options){let b=a._zod.run({value:d.value,issues:[]},e);if(b instanceof Promise)g.push(b),f=!0;else{if(0===b.issues.length)return b;g.push(b)}}return f?Promise.all(g).then(b=>a8(b,d,a,e)):a8(g,d,a,e)}}),ba=f("$ZodIntersection",(a,b)=>{aA.init(a,b),a._zod.parse=(a,c)=>{let d=a.value,e=b.left._zod.run({value:d,issues:[]},c),f=b.right._zod.run({value:d,issues:[]},c);return e instanceof Promise||f instanceof Promise?Promise.all([e,f]).then(([b,c])=>bb(a,b,c)):bb(a,e,f)}});function bb(a,b,c){let d,e=new Map;for(let c of b.issues)if("unrecognized_keys"===c.code)for(let a of(d??(d=c),c.keys))e.has(a)||e.set(a,{}),e.get(a).l=!0;else a.issues.push(c);for(let b of c.issues)if("unrecognized_keys"===b.code)for(let a of b.keys)e.has(a)||e.set(a,{}),e.get(a).r=!0;else a.issues.push(b);let f=[...e].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(f.length&&d&&a.issues.push({...d,keys:f}),Z(a))return a;let g=function a(b,c){if(b===c||b instanceof Date&&c instanceof Date&&+b==+c)return{valid:!0,data:b};if(T(b)&&T(c)){let d=Object.keys(c),e=Object.keys(b).filter(a=>-1!==d.indexOf(a)),f={...b,...c};for(let d of e){let e=a(b[d],c[d]);if(!e.valid)return{valid:!1,mergeErrorPath:[d,...e.mergeErrorPath]};f[d]=e.data}return{valid:!0,data:f}}if(Array.isArray(b)&&Array.isArray(c)){if(b.length!==c.length)return{valid:!1,mergeErrorPath:[]};let d=[];for(let e=0;e<b.length;e++){let f=a(b[e],c[e]);if(!f.valid)return{valid:!1,mergeErrorPath:[e,...f.mergeErrorPath]};d.push(f.data)}return{valid:!0,data:d}}return{valid:!1,mergeErrorPath:[]}}(b.value,c.value);if(!g.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(g.mergeErrorPath)}`);return a.value=g.data,a}let bc=f("$ZodEnum",(a,b)=>{aA.init(a,b);let c=H(b.entries),d=new Set(c);a._zod.values=d,a._zod.pattern=RegExp(`^(${c.filter(a=>V.has(typeof a)).map(a=>"string"==typeof a?W(a):a.toString()).join("|")})$`),a._zod.parse=(b,e)=>{let f=b.value;return d.has(f)||b.issues.push({code:"invalid_value",values:c,input:f,inst:a}),b}}),bd=f("$ZodTransform",(a,b)=>{aA.init(a,b),a._zod.optin="optional",a._zod.parse=(c,d)=>{if("backward"===d.direction)throw new h(a.constructor.name);let e=b.transform(c.value,c);if(d.async)return(e instanceof Promise?e:Promise.resolve(e)).then(a=>(c.value=a,c.fallback=!0,c));if(e instanceof Promise)throw new g;return c.value=e,c.fallback=!0,c}});function be(a,b){return void 0===b&&(a.issues.length||a.fallback)?{issues:[],value:void 0}:a}let bf=f("$ZodOptional",(a,b)=>{aA.init(a,b),a._zod.optin="optional",a._zod.optout="optional",M(a._zod,"values",()=>b.innerType._zod.values?new Set([...b.innerType._zod.values,void 0]):void 0),M(a._zod,"pattern",()=>{let a=b.innerType._zod.pattern;return a?RegExp(`^(${K(a.source)})?$`):void 0}),a._zod.parse=(a,c)=>{if("optional"===b.innerType._zod.optin){let d=a.value,e=b.innerType._zod.run(a,c);return e instanceof Promise?e.then(a=>be(a,d)):be(e,d)}return void 0===a.value?a:b.innerType._zod.run(a,c)}}),bg=f("$ZodExactOptional",(a,b)=>{bf.init(a,b),M(a._zod,"values",()=>b.innerType._zod.values),M(a._zod,"pattern",()=>b.innerType._zod.pattern),a._zod.parse=(a,c)=>b.innerType._zod.run(a,c)}),bh=f("$ZodNullable",(a,b)=>{aA.init(a,b),M(a._zod,"optin",()=>b.innerType._zod.optin),M(a._zod,"optout",()=>b.innerType._zod.optout),M(a._zod,"pattern",()=>{let a=b.innerType._zod.pattern;return a?RegExp(`^(${K(a.source)}|null)$`):void 0}),M(a._zod,"values",()=>b.innerType._zod.values?new Set([...b.innerType._zod.values,null]):void 0),a._zod.parse=(a,c)=>null===a.value?a:b.innerType._zod.run(a,c)}),bi=f("$ZodDefault",(a,b)=>{aA.init(a,b),a._zod.optin="optional",M(a._zod,"values",()=>b.innerType._zod.values),a._zod.parse=(a,c)=>{if("backward"===c.direction)return b.innerType._zod.run(a,c);if(void 0===a.value)return a.value=b.defaultValue,a;let d=b.innerType._zod.run(a,c);return d instanceof Promise?d.then(a=>bj(a,b)):bj(d,b)}});function bj(a,b){return void 0===a.value&&(a.value=b.defaultValue),a}let bk=f("$ZodPrefault",(a,b)=>{aA.init(a,b),a._zod.optin="optional",M(a._zod,"values",()=>b.innerType._zod.values),a._zod.parse=(a,c)=>("backward"===c.direction||void 0===a.value&&(a.value=b.defaultValue),b.innerType._zod.run(a,c))}),bl=f("$ZodNonOptional",(a,b)=>{aA.init(a,b),M(a._zod,"values",()=>{let a=b.innerType._zod.values;return a?new Set([...a].filter(a=>void 0!==a)):void 0}),a._zod.parse=(c,d)=>{let e=b.innerType._zod.run(c,d);return e instanceof Promise?e.then(b=>bm(b,a)):bm(e,a)}});function bm(a,b){return a.issues.length||void 0!==a.value||a.issues.push({code:"invalid_type",expected:"nonoptional",input:a.value,inst:b}),a}let bn=f("$ZodCatch",(a,b)=>{aA.init(a,b),a._zod.optin="optional",M(a._zod,"optout",()=>b.innerType._zod.optout),M(a._zod,"values",()=>b.innerType._zod.values),a._zod.parse=(a,c)=>{if("backward"===c.direction)return b.innerType._zod.run(a,c);let d=b.innerType._zod.run(a,c);return d instanceof Promise?d.then(d=>(a.value=d.value,d.issues.length&&(a.value=b.catchValue({...a,error:{issues:d.issues.map(a=>aa(a,c,j()))},input:a.value}),a.issues=[],a.fallback=!0),a)):(a.value=d.value,d.issues.length&&(a.value=b.catchValue({...a,error:{issues:d.issues.map(a=>aa(a,c,j()))},input:a.value}),a.issues=[],a.fallback=!0),a)}}),bo=f("$ZodPipe",(a,b)=>{aA.init(a,b),M(a._zod,"values",()=>b.in._zod.values),M(a._zod,"optin",()=>b.in._zod.optin),M(a._zod,"optout",()=>b.out._zod.optout),M(a._zod,"propValues",()=>b.in._zod.propValues),a._zod.parse=(a,c)=>{if("backward"===c.direction){let d=b.out._zod.run(a,c);return d instanceof Promise?d.then(a=>bp(a,b.in,c)):bp(d,b.in,c)}let d=b.in._zod.run(a,c);return d instanceof Promise?d.then(a=>bp(a,b.out,c)):bp(d,b.out,c)}});function bp(a,b,c){return a.issues.length?(a.aborted=!0,a):b._zod.run({value:a.value,issues:a.issues,fallback:a.fallback},c)}let bq=f("$ZodReadonly",(a,b)=>{aA.init(a,b),M(a._zod,"propValues",()=>b.innerType._zod.propValues),M(a._zod,"values",()=>b.innerType._zod.values),M(a._zod,"optin",()=>b.innerType?._zod?.optin),M(a._zod,"optout",()=>b.innerType?._zod?.optout),a._zod.parse=(a,c)=>{if("backward"===c.direction)return b.innerType._zod.run(a,c);let d=b.innerType._zod.run(a,c);return d instanceof Promise?d.then(br):br(d)}});function br(a){return a.value=Object.freeze(a.value),a}let bs=f("$ZodCustom",(a,b)=>{ad.init(a,b),aA.init(a,b),a._zod.parse=(a,b)=>a,a._zod.check=c=>{let d=c.value,e=b.fn(d);if(e instanceof Promise)return e.then(b=>bt(b,c,d,a));bt(e,c,d,a)}});function bt(a,b,c,d){if(!a){let a={code:"custom",input:c,inst:d,path:[...d._zod.def.path??[]],continue:!d._zod.def.abort};d._zod.def.params&&(a.params=d._zod.def.params),b.issues.push(ac(a))}}Symbol("ZodOutput"),Symbol("ZodInput");class bu{constructor(){this._map=new WeakMap,this._idmap=new Map}add(a,...b){let c=b[0];return this._map.set(a,c),c&&"object"==typeof c&&"id"in c&&this._idmap.set(c.id,a),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(a){let b=this._map.get(a);return b&&"object"==typeof b&&"id"in b&&this._idmap.delete(b.id),this._map.delete(a),this}get(a){let b=a._zod.parent;if(b){let c={...this.get(b)??{}};delete c.id;let d={...c,...this._map.get(a)};return Object.keys(d).length?d:void 0}return this._map.get(a)}has(a){return this._map.has(a)}}(e=globalThis).__zod_globalRegistry??(e.__zod_globalRegistry=new bu);let bv=globalThis.__zod_globalRegistry;function bw(a,b){return new a({type:"string",format:"guid",check:"string_format",abort:!1,...Y(b)})}function bx(a,b){return new ae({check:"max_length",...Y(b),maximum:a})}function by(a,b){return new af({check:"min_length",...Y(b),minimum:a})}function bz(a,b){return new ag({check:"length_equals",...Y(b),length:a})}function bA(a){return new ao({check:"overwrite",tx:a})}function bB(a){let b=a?.target??"draft-2020-12";return"draft-4"===b&&(b="draft-04"),"draft-7"===b&&(b="draft-07"),{processors:a.processors??{},metadataRegistry:a?.metadata??bv,target:b,unrepresentable:a?.unrepresentable??"throw",override:a?.override??(()=>{}),io:a?.io??"output",counter:0,seen:new Map,cycles:a?.cycles??"ref",reused:a?.reused??"inline",external:a?.external??void 0}}function bC(a,b,c={path:[],schemaPath:[]}){var d;let e=a._zod.def,f=b.seen.get(a);if(f)return f.count++,c.schemaPath.includes(a)&&(f.cycle=c.path),f.schema;let g={schema:{},count:1,cycle:void 0,path:c.path};b.seen.set(a,g);let h=a._zod.toJSONSchema?.();if(h)g.schema=h;else{let d={...c,schemaPath:[...c.schemaPath,a],path:c.path};if(a._zod.processJSONSchema)a._zod.processJSONSchema(b,g.schema,d);else{let c=g.schema,f=b.processors[e.type];if(!f)throw Error(`[toJSONSchema]: Non-representable type encountered: ${e.type}`);f(a,b,c,d)}let f=a._zod.parent;f&&(g.ref||(g.ref=f),bC(f,b,d),b.seen.get(f).isParent=!0)}let i=b.metadataRegistry.get(a);return i&&Object.assign(g.schema,i),"input"===b.io&&function a(b,c){let d=c??{seen:new Set};if(d.seen.has(b))return!1;d.seen.add(b);let e=b._zod.def;if("transform"===e.type)return!0;if("array"===e.type)return a(e.element,d);if("set"===e.type)return a(e.valueType,d);if("lazy"===e.type)return a(e.getter(),d);if("promise"===e.type||"optional"===e.type||"nonoptional"===e.type||"nullable"===e.type||"readonly"===e.type||"default"===e.type||"prefault"===e.type)return a(e.innerType,d);if("intersection"===e.type)return a(e.left,d)||a(e.right,d);if("record"===e.type||"map"===e.type)return a(e.keyType,d)||a(e.valueType,d);if("pipe"===e.type)return!!b._zod.traits.has("$ZodCodec")||a(e.in,d)||a(e.out,d);if("object"===e.type){for(let b in e.shape)if(a(e.shape[b],d))return!0;return!1}if("union"===e.type){for(let b of e.options)if(a(b,d))return!0;return!1}if("tuple"===e.type){for(let b of e.items)if(a(b,d))return!0;if(e.rest&&a(e.rest,d))return!0}return!1}(a)&&(delete g.schema.examples,delete g.schema.default),"input"===b.io&&"_prefault"in g.schema&&((d=g.schema).default??(d.default=g.schema._prefault)),delete g.schema._prefault,b.seen.get(a).schema}function bD(a,b){let c=a.seen.get(b);if(!c)throw Error("Unprocessed schema. This is a bug in Zod.");let d=new Map;for(let b of a.seen.entries()){let c=a.metadataRegistry.get(b[0])?.id;if(c){let a=d.get(c);if(a&&a!==b[0])throw Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);d.set(c,b[0])}}let e=b=>{if(b[1].schema.$ref)return;let d=b[1],{ref:e,defId:f}=(b=>{let d="draft-2020-12"===a.target?"$defs":"definitions";if(a.external){let c=a.external.registry.get(b[0])?.id,e=a.external.uri??(a=>a);if(c)return{ref:e(c)};let f=b[1].defId??b[1].schema.id??`schema${a.counter++}`;return b[1].defId=f,{defId:f,ref:`${e("__shared")}#/${d}/${f}`}}if(b[1]===c)return{ref:"#"};let e=`#/${d}/`,f=b[1].schema.id??`__schema${a.counter++}`;return{defId:f,ref:e+f}})(b);d.def={...d.schema},f&&(d.defId=f);let g=d.schema;for(let a in g)delete g[a];g.$ref=e};if("throw"===a.cycles)for(let b of a.seen.entries()){let a=b[1];if(a.cycle)throw Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
61
|
+
|
|
62
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let c of a.seen.entries()){let d=c[1];if(b===c[0]){e(c);continue}if(a.external){let d=a.external.registry.get(c[0])?.id;if(b!==c[0]&&d){e(c);continue}}if(a.metadataRegistry.get(c[0])?.id||d.cycle||d.count>1&&"ref"===a.reused){e(c);continue}}}function bE(a,b){let c=a.seen.get(b);if(!c)throw Error("Unprocessed schema. This is a bug in Zod.");let d=b=>{let c=a.seen.get(b);if(null===c.ref)return;let e=c.def??c.schema,f={...e},g=c.ref;if(c.ref=null,g){d(g);let c=a.seen.get(g),h=c.schema;if(h.$ref&&("draft-07"===a.target||"draft-04"===a.target||"openapi-3.0"===a.target)?(e.allOf=e.allOf??[],e.allOf.push(h)):Object.assign(e,h),Object.assign(e,f),b._zod.parent===g)for(let a in e)"$ref"!==a&&"allOf"!==a&&(a in f||delete e[a]);if(h.$ref&&c.def)for(let a in e)"$ref"!==a&&"allOf"!==a&&a in c.def&&JSON.stringify(e[a])===JSON.stringify(c.def[a])&&delete e[a]}let h=b._zod.parent;if(h&&h!==g){d(h);let b=a.seen.get(h);if(b?.schema.$ref&&(e.$ref=b.schema.$ref,b.def))for(let a in e)"$ref"!==a&&"allOf"!==a&&a in b.def&&JSON.stringify(e[a])===JSON.stringify(b.def[a])&&delete e[a]}a.override({zodSchema:b,jsonSchema:e,path:c.path??[]})};for(let b of[...a.seen.entries()].reverse())d(b[0]);let e={};if("draft-2020-12"===a.target?e.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===a.target?e.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===a.target?e.$schema="http://json-schema.org/draft-04/schema#":a.target,a.external?.uri){let c=a.external.registry.get(b)?.id;if(!c)throw Error("Schema is missing an `id` property");e.$id=a.external.uri(c)}Object.assign(e,c.def??c.schema);let f=a.metadataRegistry.get(b)?.id;void 0!==f&&e.id===f&&delete e.id;let g=a.external?.defs??{};for(let b of a.seen.entries()){let a=b[1];a.def&&a.defId&&(a.def.id===a.defId&&delete a.def.id,g[a.defId]=a.def)}a.external||Object.keys(g).length>0&&("draft-2020-12"===a.target?e.$defs=g:e.definitions=g);try{let c=JSON.parse(JSON.stringify(e));return Object.defineProperty(c,"~standard",{value:{...b["~standard"],jsonSchema:{input:bF(b,"input",a.processors),output:bF(b,"output",a.processors)}},enumerable:!1,writable:!1}),c}catch(a){throw Error("Error converting schema to JSON.")}}let bF=(a,b,c={})=>d=>{let{libraryOptions:e,target:f}=d??{},g=bB({...e??{},target:f,io:b,processors:c});return bC(a,g),bD(g,a),bE(g,a)},bG={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},bH=(a,b,c,d)=>{let e=a._zod.def;bC(e.innerType,b,d),b.seen.get(a).ref=e.innerType},bI=f("ZodISODateTime",(a,b)=>{aO.init(a,b),b3.init(a,b)}),bJ=f("ZodISODate",(a,b)=>{aP.init(a,b),b3.init(a,b)}),bK=f("ZodISOTime",(a,b)=>{aQ.init(a,b),b3.init(a,b)}),bL=f("ZodISODuration",(a,b)=>{aR.init(a,b),b3.init(a,b)}),bM=f("ZodError",(a,b)=>{ar.init(a,b),a.name="ZodError",Object.defineProperties(a,{format:{value:b=>(function(a,b=a=>a.message){let c={_errors:[]},d=(a,e=[])=>{for(let f of a.issues)if("invalid_union"===f.code&&f.errors.length)f.errors.map(a=>d({issues:a},[...e,...f.path]));else if("invalid_key"===f.code)d({issues:f.issues},[...e,...f.path]);else if("invalid_element"===f.code)d({issues:f.issues},[...e,...f.path]);else{let a=[...e,...f.path];if(0===a.length)c._errors.push(b(f));else{let d=c,e=0;for(;e<a.length;){let c=a[e];e===a.length-1?(d[c]=d[c]||{_errors:[]},d[c]._errors.push(b(f))):d[c]=d[c]||{_errors:[]},d=d[c],e++}}}};return d(a),c})(a,b)},flatten:{value:b=>(function(a,b=a=>a.message){let c={},d=[];for(let e of a.issues)e.path.length>0?(c[e.path[0]]=c[e.path[0]]||[],c[e.path[0]].push(b(e))):d.push(b(e));return{formErrors:d,fieldErrors:c}})(a,b)},addIssue:{value:b=>{a.issues.push(b),a.message=JSON.stringify(a.issues,I,2)}},addIssues:{value:b=>{a.issues.push(...b),a.message=JSON.stringify(a.issues,I,2)}},isEmpty:{get:()=>0===a.issues.length}})},{Parent:Error}),bN=at(bM),bO=au(bM),bP=av(bM),bQ=ax(bM),bR=(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return at(bM)(a,b,d)},bS=(a,b,c)=>at(bM)(a,b,c),bT=async(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return au(bM)(a,b,d)},bU=async(a,b,c)=>au(bM)(a,b,c),bV=(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return av(bM)(a,b,d)},bW=(a,b,c)=>av(bM)(a,b,c),bX=async(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return ax(bM)(a,b,d)},bY=async(a,b,c)=>ax(bM)(a,b,c),bZ=new WeakMap;function b$(a,b,c){let d=Object.getPrototypeOf(a),e=bZ.get(d);if(e||(e=new Set,bZ.set(d,e)),!e.has(b))for(let a in e.add(b),c){let b=c[a];Object.defineProperty(d,a,{configurable:!0,enumerable:!1,get(){let c=b.bind(this);return Object.defineProperty(this,a,{configurable:!0,writable:!0,enumerable:!0,value:c}),c},set(b){Object.defineProperty(this,a,{configurable:!0,writable:!0,enumerable:!0,value:b})}})}}let b_=f("ZodType",(a,b)=>(aA.init(a,b),Object.assign(a["~standard"],{jsonSchema:{input:bF(a,"input"),output:bF(a,"output")}}),a.toJSONSchema=((a,b={})=>c=>{let d=bB({...c,processors:b});return bC(a,d),bD(d,a),bE(d,a)})(a,{}),a.def=b,a.type=b.type,Object.defineProperty(a,"_def",{value:b}),a.parse=(b,c)=>bN(a,b,c,{callee:a.parse}),a.safeParse=(b,c)=>bP(a,b,c),a.parseAsync=async(b,c)=>bO(a,b,c,{callee:a.parseAsync}),a.safeParseAsync=async(b,c)=>bQ(a,b,c),a.spa=a.safeParseAsync,a.encode=(b,c)=>bR(a,b,c),a.decode=(b,c)=>bS(a,b,c),a.encodeAsync=async(b,c)=>bT(a,b,c),a.decodeAsync=async(b,c)=>bU(a,b,c),a.safeEncode=(b,c)=>bV(a,b,c),a.safeDecode=(b,c)=>bW(a,b,c),a.safeEncodeAsync=async(b,c)=>bX(a,b,c),a.safeDecodeAsync=async(b,c)=>bY(a,b,c),b$(a,"ZodType",{check(...a){let b=this.def;return this.clone(O(b,{checks:[...b.checks??[],...a.map(a=>"function"==typeof a?{_zod:{check:a,def:{check:"custom"},onattach:[]}}:a)]}),{parent:!0})},with(...a){return this.check(...a)},clone(a,b){return X(this,a,b)},brand(){return this},register(a,b){return a.add(this,b),this},refine(a,b){return this.check(function(a,b={}){return new cJ({type:"custom",check:"custom",fn:a,...Y(b)})}(a,b))},superRefine(a,b){return this.check(function(a,b){let c=function(a,b){let c=new ad({check:"custom",...Y(b)});return c._zod.check=a,c}(b=>(b.addIssue=a=>{"string"==typeof a?b.issues.push(ac(a,b.value,c._zod.def)):(a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=b.value),a.inst??(a.inst=c),a.continue??(a.continue=!c._zod.def.abort),b.issues.push(ac(a)))},a(b.value,b)),b);return c}(a,b))},overwrite(a){return this.check(bA(a))},optional(){return cy(this)},exactOptional(){var a;return a=this,new cz({type:"optional",innerType:a})},nullable(){return cB(this)},nullish(){return cy(cB(this))},nonoptional(a){var b;return b=this,new cE({type:"nonoptional",innerType:b,...Y(a)})},array(){return function(a,b){return new cq({type:"array",element:a,...Y(void 0)})}(this)},or(a){return new ct({type:"union",options:[this,a],...Y(void 0)})},and(a){var b;return b=this,new cu({type:"intersection",left:b,right:a})},transform(a){return cH(this,new cw({type:"transform",transform:a}))},default(a){var b,c;return b=this,c=a,new cC({type:"default",innerType:b,get defaultValue(){return"function"==typeof c?c():U(c)}})},prefault(a){var b,c;return b=this,c=a,new cD({type:"prefault",innerType:b,get defaultValue(){return"function"==typeof c?c():U(c)}})},catch(a){var b,c;return b=this,new cF({type:"catch",innerType:b,catchValue:"function"==typeof(c=a)?c:()=>c})},pipe(a){return cH(this,a)},readonly(){var a;return a=this,new cI({type:"readonly",innerType:a})},describe(a){let b=this.clone();return bv.add(b,{description:a}),b},meta(...a){if(0===a.length)return bv.get(this);let b=this.clone();return bv.add(b,a[0]),b},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(a){return a(this)}}),Object.defineProperty(a,"description",{get:()=>bv.get(a)?.description,configurable:!0}),a)),b0=f("_ZodString",(a,b)=>{aB.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{c.type="string";let{minimum:e,maximum:f,format:g,patterns:h,contentEncoding:i}=a._zod.bag;if("number"==typeof e&&(c.minLength=e),"number"==typeof f&&(c.maxLength=f),g&&(c.format=bG[g]??g,""===c.format&&delete c.format,"time"===g&&delete c.format),i&&(c.contentEncoding=i),h&&h.size>0){let a=[...h];1===a.length?c.pattern=a[0].source:a.length>1&&(c.allOf=[...a.map(a=>({..."draft-07"===b.target||"draft-04"===b.target||"openapi-3.0"===b.target?{type:"string"}:{},pattern:a.source}))])}})(a,b,c,0);let c=a._zod.bag;a.format=c.format??null,a.minLength=c.minimum??null,a.maxLength=c.maximum??null,b$(a,"_ZodString",{regex(...a){return this.check(function(a,b){return new ai({check:"string_format",format:"regex",...Y(b),pattern:a})}(...a))},includes(...a){return this.check(function(a,b){return new al({check:"string_format",format:"includes",...Y(b),includes:a})}(...a))},startsWith(...a){return this.check(function(a,b){return new am({check:"string_format",format:"starts_with",...Y(b),prefix:a})}(...a))},endsWith(...a){return this.check(function(a,b){return new an({check:"string_format",format:"ends_with",...Y(b),suffix:a})}(...a))},min(...a){return this.check(by(...a))},max(...a){return this.check(bx(...a))},length(...a){return this.check(bz(...a))},nonempty(...a){return this.check(by(1,...a))},lowercase(a){return this.check(new aj({check:"string_format",format:"lowercase",...Y(a)}))},uppercase(a){return this.check(new ak({check:"string_format",format:"uppercase",...Y(a)}))},trim(){return this.check(bA(a=>a.trim()))},normalize(...a){return this.check(function(a){return bA(b=>b.normalize(a))}(...a))},toLowerCase(){return this.check(bA(a=>a.toLowerCase()))},toUpperCase(){return this.check(bA(a=>a.toUpperCase()))},slugify(){return this.check(bA(a=>a.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")))}})}),b1=f("ZodString",(a,b)=>{aB.init(a,b),b0.init(a,b),a.email=b=>a.check(new b4({type:"string",format:"email",check:"string_format",abort:!1,...Y(b)})),a.url=b=>a.check(new b7({type:"string",format:"url",check:"string_format",abort:!1,...Y(b)})),a.jwt=b=>a.check(new cm({type:"string",format:"jwt",check:"string_format",abort:!1,...Y(b)})),a.emoji=b=>a.check(new b8({type:"string",format:"emoji",check:"string_format",abort:!1,...Y(b)})),a.guid=b=>a.check(bw(b5,b)),a.uuid=b=>a.check(new b6({type:"string",format:"uuid",check:"string_format",abort:!1,...Y(b)})),a.uuidv4=b=>a.check(new b6({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Y(b)})),a.uuidv6=b=>a.check(new b6({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Y(b)})),a.uuidv7=b=>a.check(new b6({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Y(b)})),a.nanoid=b=>a.check(new b9({type:"string",format:"nanoid",check:"string_format",abort:!1,...Y(b)})),a.guid=b=>a.check(bw(b5,b)),a.cuid=b=>a.check(new ca({type:"string",format:"cuid",check:"string_format",abort:!1,...Y(b)})),a.cuid2=b=>a.check(new cb({type:"string",format:"cuid2",check:"string_format",abort:!1,...Y(b)})),a.ulid=b=>a.check(new cc({type:"string",format:"ulid",check:"string_format",abort:!1,...Y(b)})),a.base64=b=>a.check(new cj({type:"string",format:"base64",check:"string_format",abort:!1,...Y(b)})),a.base64url=b=>a.check(new ck({type:"string",format:"base64url",check:"string_format",abort:!1,...Y(b)})),a.xid=b=>a.check(new cd({type:"string",format:"xid",check:"string_format",abort:!1,...Y(b)})),a.ksuid=b=>a.check(new ce({type:"string",format:"ksuid",check:"string_format",abort:!1,...Y(b)})),a.ipv4=b=>a.check(new cf({type:"string",format:"ipv4",check:"string_format",abort:!1,...Y(b)})),a.ipv6=b=>a.check(new cg({type:"string",format:"ipv6",check:"string_format",abort:!1,...Y(b)})),a.cidrv4=b=>a.check(new ch({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Y(b)})),a.cidrv6=b=>a.check(new ci({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Y(b)})),a.e164=b=>a.check(new cl({type:"string",format:"e164",check:"string_format",abort:!1,...Y(b)})),a.datetime=b=>a.check(new bI({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Y(b)})),a.date=b=>a.check(new bJ({type:"string",format:"date",check:"string_format",...Y(b)})),a.time=b=>a.check(new bK({type:"string",format:"time",check:"string_format",precision:null,...Y(b)})),a.duration=b=>a.check(new bL({type:"string",format:"duration",check:"string_format",...Y(b)}))});function b2(a){return new b1({type:"string",...Y(a)})}let b3=f("ZodStringFormat",(a,b)=>{aC.init(a,b),b0.init(a,b)}),b4=f("ZodEmail",(a,b)=>{aF.init(a,b),b3.init(a,b)}),b5=f("ZodGUID",(a,b)=>{aD.init(a,b),b3.init(a,b)}),b6=f("ZodUUID",(a,b)=>{aE.init(a,b),b3.init(a,b)}),b7=f("ZodURL",(a,b)=>{aG.init(a,b),b3.init(a,b)}),b8=f("ZodEmoji",(a,b)=>{aH.init(a,b),b3.init(a,b)}),b9=f("ZodNanoID",(a,b)=>{aI.init(a,b),b3.init(a,b)}),ca=f("ZodCUID",(a,b)=>{aJ.init(a,b),b3.init(a,b)}),cb=f("ZodCUID2",(a,b)=>{aK.init(a,b),b3.init(a,b)}),cc=f("ZodULID",(a,b)=>{aL.init(a,b),b3.init(a,b)}),cd=f("ZodXID",(a,b)=>{aM.init(a,b),b3.init(a,b)}),ce=f("ZodKSUID",(a,b)=>{aN.init(a,b),b3.init(a,b)}),cf=f("ZodIPv4",(a,b)=>{aS.init(a,b),b3.init(a,b)}),cg=f("ZodIPv6",(a,b)=>{aT.init(a,b),b3.init(a,b)}),ch=f("ZodCIDRv4",(a,b)=>{aU.init(a,b),b3.init(a,b)}),ci=f("ZodCIDRv6",(a,b)=>{aV.init(a,b),b3.init(a,b)}),cj=f("ZodBase64",(a,b)=>{aX.init(a,b),b3.init(a,b)}),ck=f("ZodBase64URL",(a,b)=>{aY.init(a,b),b3.init(a,b)}),cl=f("ZodE164",(a,b)=>{aZ.init(a,b),b3.init(a,b)}),cm=f("ZodJWT",(a,b)=>{a$.init(a,b),b3.init(a,b)}),cn=f("ZodUnknown",(a,b)=>{a_.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(a,b,c)=>{}});function co(){return new cn({type:"unknown"})}let cp=f("ZodNever",(a,b)=>{a0.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(a,b,c)=>{b.not={}}}),cq=f("ZodArray",(a,b)=>{a2.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def,{minimum:f,maximum:g}=a._zod.bag;"number"==typeof f&&(c.minItems=f),"number"==typeof g&&(c.maxItems=g),c.type="array",c.items=bC(e.element,b,{...d,path:[...d.path,"items"]})})(a,b,c,d),a.element=b.element,b$(a,"ZodArray",{min(a,b){return this.check(by(a,b))},nonempty(a){return this.check(by(1,a))},max(a,b){return this.check(bx(a,b))},length(a,b){return this.check(bz(a,b))},unwrap(){return this.element}})}),cr=f("ZodObject",(a,b)=>{a7.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def;c.type="object",c.properties={};let f=e.shape;for(let a in f)c.properties[a]=bC(f[a],b,{...d,path:[...d.path,"properties",a]});let g=new Set([...new Set(Object.keys(f))].filter(a=>{let c=e.shape[a]._zod;return"input"===b.io?void 0===c.optin:void 0===c.optout}));g.size>0&&(c.required=Array.from(g)),e.catchall?._zod.def.type==="never"?c.additionalProperties=!1:e.catchall?e.catchall&&(c.additionalProperties=bC(e.catchall,b,{...d,path:[...d.path,"additionalProperties"]})):"output"===b.io&&(c.additionalProperties=!1)})(a,b,c,d),M(a,"shape",()=>b.shape),b$(a,"ZodObject",{keyof(){var a;return new cv({type:"enum",entries:Array.isArray(a=Object.keys(this._zod.def.shape))?Object.fromEntries(a.map(a=>[a,a])):a,...Y(void 0)})},catchall(a){return this.clone({...this._zod.def,catchall:a})},passthrough(){return this.clone({...this._zod.def,catchall:co()})},loose(){return this.clone({...this._zod.def,catchall:co()})},strict(){return this.clone({...this._zod.def,catchall:new cp({type:"never",...Y(void 0)})})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(a){return function(a,b){if(!T(b))throw Error("Invalid input to extend: expected a plain object");let c=a._zod.def.checks;if(c&&c.length>0){let c=a._zod.def.shape;for(let a in b)if(void 0!==Object.getOwnPropertyDescriptor(c,a))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let d=O(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b};return N(this,"shape",c),c}});return X(a,d)}(this,a)},safeExtend(a){var b=this;if(!T(a))throw Error("Invalid input to safeExtend: expected a plain object");let c=O(b._zod.def,{get shape(){let c={...b._zod.def.shape,...a};return N(this,"shape",c),c}});return X(b,c)},merge(a){var b=this;if(b._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let c=O(b._zod.def,{get shape(){let c={...b._zod.def.shape,...a._zod.def.shape};return N(this,"shape",c),c},get catchall(){return a._zod.def.catchall},checks:a._zod.def.checks??[]});return X(b,c)},pick(a){return function(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let e=O(a._zod.def,{get shape(){let a={};for(let d in b){if(!(d in c.shape))throw Error(`Unrecognized key: "${d}"`);b[d]&&(a[d]=c.shape[d])}return N(this,"shape",a),a},checks:[]});return X(a,e)}(this,a)},omit(a){return function(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let e=O(a._zod.def,{get shape(){let d={...a._zod.def.shape};for(let a in b){if(!(a in c.shape))throw Error(`Unrecognized key: "${a}"`);b[a]&&delete d[a]}return N(this,"shape",d),d},checks:[]});return X(a,e)}(this,a)},partial(...a){return function(a,b,c){let d=b._zod.def.checks;if(d&&d.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let e=O(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b in c){if(!(b in d))throw Error(`Unrecognized key: "${b}"`);c[b]&&(e[b]=a?new a({type:"optional",innerType:d[b]}):d[b])}else for(let b in d)e[b]=a?new a({type:"optional",innerType:d[b]}):d[b];return N(this,"shape",e),e},checks:[]});return X(b,e)}(cx,this,a[0])},required(...a){return function(a,b,c){let d=O(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b in c){if(!(b in e))throw Error(`Unrecognized key: "${b}"`);c[b]&&(e[b]=new a({type:"nonoptional",innerType:d[b]}))}else for(let b in d)e[b]=new a({type:"nonoptional",innerType:d[b]});return N(this,"shape",e),e}});return X(b,d)}(cE,this,a[0])}})});function cs(a,b){return new cr({type:"object",shape:a??{},...Y(b)})}let ct=f("ZodUnion",(a,b)=>{a9.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def,f=!1===e.inclusive,g=e.options.map((a,c)=>bC(a,b,{...d,path:[...d.path,f?"oneOf":"anyOf",c]}));f?c.oneOf=g:c.anyOf=g})(a,b,c,d),a.options=b.options}),cu=f("ZodIntersection",(a,b)=>{ba.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def,f=bC(e.left,b,{...d,path:[...d.path,"allOf",0]}),g=bC(e.right,b,{...d,path:[...d.path,"allOf",1]}),h=a=>"allOf"in a&&1===Object.keys(a).length;c.allOf=[...h(f)?f.allOf:[f],...h(g)?g.allOf:[g]]})(a,b,c,d)}),cv=f("ZodEnum",(a,b)=>{bc.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=H(a._zod.def.entries);e.every(a=>"number"==typeof a)&&(c.type="number"),e.every(a=>"string"==typeof a)&&(c.type="string"),c.enum=e})(a,0,c,0),a.enum=b.entries,a.options=Object.values(b.entries);let c=new Set(Object.keys(b.entries));a.extract=(a,d)=>{let e={};for(let d of a)if(c.has(d))e[d]=b.entries[d];else throw Error(`Key ${d} not found in enum`);return new cv({...b,checks:[],...Y(d),entries:e})},a.exclude=(a,d)=>{let e={...b.entries};for(let b of a)if(c.has(b))delete e[b];else throw Error(`Key ${b} not found in enum`);return new cv({...b,checks:[],...Y(d),entries:e})}}),cw=f("ZodTransform",(a,b)=>{bd.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(a,b,c)=>((a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Transforms cannot be represented in JSON Schema")})(0,a,0,0),a._zod.parse=(c,d)=>{if("backward"===d.direction)throw new h(a.constructor.name);c.addIssue=d=>{"string"==typeof d?c.issues.push(ac(d,c.value,b)):(d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=c.value),d.inst??(d.inst=a),c.issues.push(ac(d)))};let e=b.transform(c.value,c);return e instanceof Promise?e.then(a=>(c.value=a,c.fallback=!0,c)):(c.value=e,c.fallback=!0,c)}}),cx=f("ZodOptional",(a,b)=>{bf.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>bH(a,b,c,d),a.unwrap=()=>a._zod.def.innerType});function cy(a){return new cx({type:"optional",innerType:a})}let cz=f("ZodExactOptional",(a,b)=>{bg.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>bH(a,b,c,d),a.unwrap=()=>a._zod.def.innerType}),cA=f("ZodNullable",(a,b)=>{bh.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def,f=bC(e.innerType,b,d),g=b.seen.get(a);"openapi-3.0"===b.target?(g.ref=e.innerType,c.nullable=!0):c.anyOf=[f,{type:"null"}]})(a,b,c,d),a.unwrap=()=>a._zod.def.innerType});function cB(a){return new cA({type:"nullable",innerType:a})}let cC=f("ZodDefault",(a,b)=>{bi.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def;bC(e.innerType,b,d),b.seen.get(a).ref=e.innerType,c.default=JSON.parse(JSON.stringify(e.defaultValue))})(a,b,c,d),a.unwrap=()=>a._zod.def.innerType,a.removeDefault=a.unwrap}),cD=f("ZodPrefault",(a,b)=>{bk.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def;bC(e.innerType,b,d),b.seen.get(a).ref=e.innerType,"input"===b.io&&(c._prefault=JSON.parse(JSON.stringify(e.defaultValue)))})(a,b,c,d),a.unwrap=()=>a._zod.def.innerType}),cE=f("ZodNonOptional",(a,b)=>{bl.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def;bC(e.innerType,b,d),b.seen.get(a).ref=e.innerType})(a,b,0,d),a.unwrap=()=>a._zod.def.innerType}),cF=f("ZodCatch",(a,b)=>{bn.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e,f=a._zod.def;bC(f.innerType,b,d),b.seen.get(a).ref=f.innerType;try{e=f.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}c.default=e})(a,b,c,d),a.unwrap=()=>a._zod.def.innerType,a.removeCatch=a.unwrap}),cG=f("ZodPipe",(a,b)=>{bo.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def,f=e.in._zod.traits.has("$ZodTransform"),g="input"===b.io?f?e.out:e.in:e.out;bC(g,b,d),b.seen.get(a).ref=g})(a,b,0,d),a.in=b.in,a.out=b.out});function cH(a,b){return new cG({type:"pipe",in:a,out:b})}let cI=f("ZodReadonly",(a,b)=>{bq.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def;bC(e.innerType,b,d),b.seen.get(a).ref=e.innerType,c.readOnly=!0})(a,b,c,d),a.unwrap=()=>a._zod.def.innerType}),cJ=f("ZodCustom",(a,b)=>{bs.init(a,b),b_.init(a,b),a._zod.processJSONSchema=(a,b,c)=>((a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Custom types cannot be represented in JSON Schema")})(0,a,0,0)})}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
exports.id=615,exports.ids=[615],exports.modules={2453:(a,b,c)=>{Promise.resolve().then(c.bind(c,97788))},3136:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},5908:(a,b,c)=>{"use strict";c.d(b,{q:()=>m,M:()=>n});var d=c(21124),e=c(38301);function f(a,b){let[c,d]=(0,e.useState)(()=>b),[f,g]=(0,e.useState)(null),h=(0,e.useRef)(null);return[c,(0,e.useCallback)(a=>{d(b=>{let c=a instanceof Function?a(b):a;return h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{g(new Date().toISOString())},300),c})},[a]),f]}var g=c(19188);let h={projects:{},activeProjectId:null,selectedNodeId:null},i={name:"",bannerColor:"#64B5F6",avatarUrl:"",role:"QA Engineer"},j={baseUrl:"http://localhost:3000",browser:"chromium",headless:!0,timeout:3e4};var k=c(42423);let l=(0,e.createContext)(null);function m({children:a}){let b=function(){let[a,b,c]=f("qa-dashboard",h),d=(0,e.useCallback)(a=>{let c=crypto.randomUUID(),d={id:c,name:a,createdAt:new Date().toISOString(),flows:[],testCases:{},columnConfig:[...g._X],columnConfigs:{},edges:[],userProfile:{name:"",bannerColor:"#64B5F6"},nodeCounter:0,tcCounter:{}};return b(a=>({...a,projects:{...a.projects,[c]:d},activeProjectId:c,selectedNodeId:null})),c},[b]),i=(0,e.useCallback)(a=>{b(b=>{let{[a]:c,...d}=b.projects,e=Object.keys(d);return{...b,projects:d,activeProjectId:b.activeProjectId===a?e[0]??null:b.activeProjectId,selectedNodeId:b.activeProjectId===a?null:b.selectedNodeId}})},[b]),j=(0,e.useCallback)(a=>{b(b=>({...b,activeProjectId:a,selectedNodeId:null}))},[b]),k=(0,e.useCallback)((a,c)=>{b(b=>({...b,projects:{...b.projects,[a]:{...b.projects[a],name:c}}}))},[b]),l=(0,e.useCallback)(a=>{b(b=>{let c=b.projects[a];if(!c)return b;let d=crypto.randomUUID(),e=new Date().toISOString(),f={...JSON.parse(JSON.stringify(c)),id:d,name:`${c.name} (Copy)`,createdAt:e};return{...b,projects:{...b.projects,[d]:f},activeProjectId:d,selectedNodeId:null}})},[b]),m=(0,e.useCallback)(a=>{try{let c=JSON.parse(a);if(!c||"object"!=typeof c)return{ok:!1,error:"Invalid JSON"};if(!c.name||!c.flows)return{ok:!1,error:"Missing required fields (name, flows)"};let d=crypto.randomUUID(),e={id:d,name:c.name,createdAt:c.createdAt||new Date().toISOString(),flows:Array.isArray(c.flows)?c.flows:[],testCases:c.testCases&&"object"==typeof c.testCases?c.testCases:{},columnConfig:Array.isArray(c.columnConfig)?c.columnConfig:[...g._X],columnConfigs:c.columnConfigs&&"object"==typeof c.columnConfigs?c.columnConfigs:{},edges:Array.isArray(c.edges)?c.edges:[],userProfile:c.userProfile&&"object"==typeof c.userProfile?c.userProfile:{name:"",bannerColor:"#64B5F6"},nodeCounter:"number"==typeof c.nodeCounter?c.nodeCounter:0,tcCounter:c.tcCounter&&"object"==typeof c.tcCounter?c.tcCounter:{}};return b(a=>({...a,projects:{...a.projects,[d]:e},activeProjectId:d,selectedNodeId:null})),{ok:!0}}catch{return{ok:!1,error:"Failed to parse project file"}}},[b]),n=(0,e.useCallback)(a=>{b(b=>({...b,selectedNodeId:a}))},[b]),o=(0,e.useCallback)((a,c)=>{b(b=>({...b,projects:{...b.projects,[a]:c(b.projects[a])}}))},[b]),p=a.activeProjectId?a.projects[a.activeProjectId]??null:null;return{state:a,setState:b,projects:a.projects,activeProject:p,activeProjectId:a.activeProjectId,selectedNodeId:a.selectedNodeId,createProject:d,deleteProject:i,duplicateProject:l,importProject:m,switchProject:j,renameProject:k,setSelectedNodeId:n,updateProject:o,lastSaved:c}}(),c=function(){let[a,b]=f("qa-profile",i),c=a.name.split(" ").map(a=>a[0]).filter(Boolean).slice(0,2).join("").toUpperCase()||"?";return{profile:a,setName:a=>b(b=>({...b,name:a})),setBannerColor:a=>b(b=>({...b,bannerColor:a})),setAvatarUrl:a=>b(b=>({...b,avatarUrl:a})),setRole:a=>b(b=>({...b,role:a})),initials:c}}(),m=function(a,b){let[c,d]=(0,e.useState)([]),[f,g]=(0,e.useState)(-1),h=(0,e.useRef)(!1),i=(0,e.useCallback)(b=>{if(!a||h.current){h.current=!1;return}d(c=>{let d=[...c.slice(0,f+1),{label:b,projectSnapshot:JSON.parse(JSON.stringify(a))}];return d.length>50&&d.shift(),d}),g(a=>Math.min(a+1,49))},[a,f]),j=(0,e.useCallback)(()=>{if(f<0||!a)return;let d=c[f];d&&(h.current=!0,b(a.id,()=>d.projectSnapshot),g(a=>a-1))},[c,f,a,b]),k=(0,e.useCallback)(()=>{if(f>=c.length-1||!a)return;let d=c[f+1];d&&(h.current=!0,b(a.id,()=>d.projectSnapshot),g(a=>a+1))},[c,f,a,b]),l=f>=0;return{pushState:i,undo:j,redo:k,canUndo:l,canRedo:f<c.length-1,recentActions:c.slice(-10).map(a=>a.label).reverse()}}(b.activeProject,b.updateProject),n=function(a,b,c,d){let f=a?.flows??[],h=a?.edges??[],i=(0,e.useCallback)((c,e,f,h)=>{if(!a)return null;let i=crypto.randomUUID(),j="";return b(a.id,a=>{let b=(a.nodeCounter??0)+1,d=(e||"").trim().replace(/[^a-zA-Z0-9\s]/g,"").split(/\s+/);j=d.length>=2?d.slice(0,2).map(a=>a.charAt(0).toUpperCase()).join("")+String(b).padStart(2,"0"):d[0]&&d[0].length>=2?d[0].slice(0,3).toUpperCase()+String(b).padStart(2,"0"):`N${String(b).padStart(3,"0")}`;let k=(0,g.IU)(i,j,e,c);f&&(k.position=f),h&&(k.direction=h);let l=[...a.flows];if(c){let a=l.findIndex(a=>a.id===c);-1!==a&&(l[a]={...l[a],children:[...l[a].children,i]})}return l.push(k),{...a,flows:l,testCases:{...a.testCases,[i]:[]},nodeCounter:b}}),d(i),i},[a,b,d]),j=(0,e.useCallback)(e=>{if(!a)return;let f=new Set,g=b=>{f.add(b);let c=a.flows.find(a=>a.id===b);c?.children.forEach(g)};g(e),b(a.id,a=>{let b=a.flows.filter(a=>!f.has(a.id)).map(a=>({...a,children:a.children.filter(a=>!f.has(a))})),c={...a.testCases};f.forEach(a=>delete c[a]);let d=(a.edges??[]).filter(a=>!f.has(a.fromId)&&!f.has(a.toId));return{...a,flows:b,testCases:c,edges:d}}),f.has(c??"")&&d(null)},[a,b,c,d]),k=(0,e.useCallback)(e=>{if(!a||0===e.length)return;let f=new Set,g=b=>{f.add(b);let c=a.flows.find(a=>a.id===b);c?.children.forEach(g)};e.forEach(g),b(a.id,a=>{let b=a.flows.filter(a=>!f.has(a.id)).map(a=>({...a,children:a.children.filter(a=>!f.has(a))})),c={...a.testCases};f.forEach(a=>delete c[a]);let d=(a.edges??[]).filter(a=>!f.has(a.fromId)&&!f.has(a.toId));return{...a,flows:b,testCases:c,edges:d}}),f.has(c??"")&&d(null)},[a,b,c,d]),l=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,flows:a.flows.map(a=>a.id===c?{...a,label:d}:a)}))},[a,b]),m=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,flows:a.flows.map(a=>a.id===c?{...a,...d}:a)}))},[a,b]),n=(0,e.useCallback)(c=>{a&&b(a.id,a=>{let b=a.flows.find(a=>a.id===c);return b&&b.parentId?{...a,flows:a.flows.map(a=>a.id===c?{...a,parentId:null}:a.id===b.parentId?{...a,children:a.children.filter(a=>a!==c)}:a)}:a})},[a,b]),o=(0,e.useCallback)(a=>{d(a)},[d]),p=(0,e.useCallback)((c,d,e)=>{if(!a)return;let f={id:crypto.randomUUID(),fromId:c,toId:d,type:e};b(a.id,a=>({...a,edges:[...a.edges??[],f]}))},[a,b]),q=(0,e.useCallback)(c=>{a&&b(a.id,a=>({...a,edges:(a.edges??[]).filter(a=>a.id!==c)}))},[a,b]);return{nodes:f,edges:h,selectedNodeId:c,addNode:i,deleteNode:j,deleteNodes:k,unlinkNode:n,renameNode:l,updateNode:m,selectNode:o,addEdge:p,deleteEdge:q,updateEdge:(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,edges:(a.edges??[]).map(a=>a.id===c?{...a,...d}:a)}))},[a,b]),resetLayout:(0,e.useCallback)(()=>{a&&b(a.id,a=>({...a,flows:a.flows.map(a=>({...a,position:null}))}))},[a,b])}}(b.activeProject,b.updateProject,b.selectedNodeId,b.setSelectedNodeId),o=function(a,b,c){let d=c&&a?a.testCases[c]??[]:[],f=function(a){let b=a.length,c=a.filter(a=>"pass"===a.status).length,d=a.filter(a=>"fail"===a.status).length,e=a.filter(a=>"skip"===a.status).length,f=a.filter(a=>"untested"===a.status).length,g=b-e,h=g>0?Math.round(c/g*100):0;return{total:b,pass:c,fail:d,skip:e,untested:f,passRate:h}}(d),h=(0,e.useCallback)((c,d,e,f)=>{if(!a)return;let g=a.flows.find(a=>a.id===c),h=g?.code??"N000",i=a.testCases[c]??[],j="";b(a.id,a=>{let b={...a.tcCounter??{}},g=(b[c]??0)+1;b[c]=g,j=`${h}-TC${String(g).padStart(3,"0")}`;let k={id:crypto.randomUUID(),code:j,title:d,steps:e??"",expected:f??"",status:"untested",case_type:"General",notes:"",links:"",order:i.length};return{...a,testCases:{...a.testCases,[c]:[...a.testCases[c]??[],k]},tcCounter:b}})},[a,b]),i=(0,e.useCallback)((c,d,e)=>{a&&b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).map(a=>a.id===d?{...a,...e}:a)}}))},[a,b]),j=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).filter(a=>a.id!==d)}}))},[a,b]),k=(0,e.useCallback)((c,d)=>{if(!a||0===d.length)return;let e=new Set(d);b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).filter(a=>!e.has(a.id))}}))},[a,b]),l=(0,e.useCallback)((c,d,e)=>{if(!a||0===d.length)return;let f=new Set(d);b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).map(a=>f.has(a.id)?{...a,...e}:a)}}))},[a,b]),m=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>{let b=new Map((a.testCases[c]??[]).map(a=>[a.id,a])),e=d.map((a,c)=>{let d=b.get(a);return d?{...d,order:c}:null}).filter(Boolean);return{...a,testCases:{...a.testCases,[c]:e}}})},[a,b]),n=(0,e.useCallback)((c,d,e)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},f=b[c]??[...g._X];return b[c]=f.map(a=>a.key===d?{...a,label:e}:a),{...a,columnConfigs:b}})},[a,b]),o=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},e=b[c]??[...g._X];return b[c]=e.map(a=>a.key===d?{...a,visible:!a.visible}:a),{...a,columnConfigs:b}})},[a,b]),p=(0,e.useCallback)((c,d)=>{if(!a)return;let e=d.toLowerCase().replace(/\s+/g,"_");b(a.id,a=>{let b={...a.columnConfigs??{}},f=b[c]??[...g._X];return b[c]=[...f,{key:e,label:d,visible:!0}],{...a,columnConfigs:b}})},[a,b]);return{testCases:d,stats:f,addTestCase:h,updateTestCase:i,deleteTestCase:j,bulkDeleteTestCases:k,bulkUpdateTestCases:l,reorderTestCases:m,updateColumnConfig:n,toggleColumnVisibility:o,addColumn:p,deleteColumn:(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},e=b[c]??[...g._X];return b[c]=e.filter(a=>a.key!==d),{...a,columnConfigs:b}})},[a,b]),reorderColumn:(0,e.useCallback)((c,d,e)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},f=[...b[c]??[...g._X]],h=f.findIndex(a=>a.key===d);if(-1===h)return a;let i="up"===e?h-1:h+1;if(i<0||i>=f.length)return a;let j=f[h];return f[h]=f[i],f[i]=j,b[c]=f,{...a,columnConfigs:b}})},[a,b])}}(b.activeProject,b.updateProject,b.selectedNodeId),p=function(a,b){let c=a?.id,d=(0,e.useMemo)(()=>a?.e2eData||{config:j,runs:[],savedScripts:[]},[a?.e2eData]),f=(0,e.useCallback)(a=>{c&&b(c,b=>({...b,e2eData:a(b.e2eData||{config:j,runs:[],savedScripts:[]})}))},[c,b]),g=(0,e.useCallback)(a=>{f(b=>({...b,config:{...b.config,...a}}))},[f]),h=(0,e.useCallback)(a=>{let b={...a,id:`run-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,timestamp:new Date().toISOString()};return f(a=>({...a,runs:[b,...a.runs].slice(0,20)})),b},[f]),i=(0,e.useCallback)(a=>{f(b=>({...b,runs:b.runs.filter(b=>b.id!==a)}))},[f]),k=(0,e.useCallback)(()=>{f(a=>({...a,runs:[]}))},[f]),l=(0,e.useCallback)((a,b,d,e)=>{f(f=>{let g=f.savedScripts.findIndex(b=>b.testCaseId===a),h={id:g>=0?f.savedScripts[g].id:`script-${Date.now()}`,projectId:c,testCaseId:a,title:b,code:d,script:e,updatedAt:new Date().toISOString()},i=[...f.savedScripts];return g>=0?i[g]=h:i.push(h),{...f,savedScripts:i}})},[c,f]),m=(0,e.useCallback)(a=>{f(b=>({...b,savedScripts:b.savedScripts.filter(b=>b.testCaseId!==a)}))},[f]),n=(0,e.useCallback)(a=>d.savedScripts.find(b=>b.testCaseId===a),[d.savedScripts]);return{config:d.config,runs:d.runs,savedScripts:d.savedScripts,saveConfig:g,saveRun:h,deleteRun:i,clearRuns:k,saveScript:l,deleteScript:m,getScript:n}}(b.activeProject,b.updateProject),q=(0,k.s)(),r=(0,e.useMemo)(()=>({projects:b.projects,activeProject:b.activeProject,activeProjectId:b.activeProjectId,selectedNodeId:b.selectedNodeId,createProject:b.createProject,deleteProject:b.deleteProject,duplicateProject:b.duplicateProject,importProject:b.importProject,switchProject:b.switchProject,renameProject:b.renameProject,setSelectedNodeId:b.setSelectedNodeId,updateProject:b.updateProject,profile:c.profile,profileInitials:c.initials,setProfileName:c.setName,setProfileBannerColor:c.setBannerColor,setProfileAvatarUrl:c.setAvatarUrl,setProfileRole:c.setRole,canUndo:m.canUndo,canRedo:m.canRedo,undo:m.undo,redo:m.redo,pushState:m.pushState,mindmap:n,testCases:o,e2e:p,dialog:q.dialog,alertDialog:q.alert,confirmDialog:q.confirm,promptDialog:q.prompt,lastSaved:b.lastSaved}),[b,c,m,n,o,p,q]);return(0,d.jsx)(l.Provider,{value:r,children:a})}function n(){let a=(0,e.useContext)(l);if(!a)throw Error("useDashboard must be used within DashboardProvider");return a}},19188:(a,b,c)=>{"use strict";c.d(b,{D_:()=>e,IU:()=>g,T7:()=>f,_X:()=>d});let d=[{key:"code",label:"ID",visible:!0},{key:"title",label:"Test Case",visible:!0},{key:"steps",label:"Steps",visible:!0},{key:"expected",label:"Expected Result",visible:!0},{key:"status",label:"Status",visible:!0},{key:"case_type",label:"Case Type",visible:!1},{key:"notes",label:"Notes",visible:!0},{key:"links",label:"Links",visible:!1}],e=["General","Positive","Negative"],f=["#E57373","#F06292","#BA68C8","#9575CD","#7986CB","#64B5F6","#4FC3F7","#4DD0E1","#4DB6AC","#81C784","#AED581","#FFD54F","#FFB74D","#FF8A65","#A1887F","#90A4AE"];function g(a,b,c,d){return{id:a,code:b,label:c,parentId:d,children:[],shape:"rounded",notes:"",position:null}}},22048:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>B});var d=c(21124),e=c(38301),f=c(42378),g=c(5908),h=c(3991),i=c.n(h),j=c(34776),k=c(19188);let l=["https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_11.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_12.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_13.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_14.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_15.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_16.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_17.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_18.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_19.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_20.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_21.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_22.png"],m=["https://i.pinimg.com/736x/ed/74/06/ed74063ade6d66fce2ca19acbe74babc.jpg","https://i.pinimg.com/736x/8c/6d/56/8c6d563311f0917d45d1f2ce5d7c1a2d.jpg","https://i.pinimg.com/736x/86/b8/be/86b8bea1c772cf5c540e6f01e6acce59.jpg","https://i.pinimg.com/736x/78/d4/b1/78d4b1787a4fd23c2a8d21e4fbbc016f.jpg","https://i.pinimg.com/1200x/87/de/e6/87dee6d33b04f1df28bc85702ee12d4b.jpg","https://i.pinimg.com/1200x/3b/e3/95/3be395c4a94705f95e0603afb04f9d56.jpg","https://media.licdn.com/dms/image/v2/D5603AQHBu4wrzFWoTw/profile-displayphoto-crop_800_800/B56Zq.Sy6LKsAI-/0/1764129191465?e=1782345600&v=beta&t=79y6xLivwcpvwy53sy1TuVopK4FMp6O8uAu7QxlIxDo"],n=["QA Engineer","QA Lead","Developer","Designer","Manager"];function o(a,b){let c=parseInt(a.replace("#",""),16),d=Math.min(255,(c>>16)+Math.round((255-(c>>16))*b)),e=Math.min(255,(c>>8&255)+Math.round((255-(c>>8&255))*b)),f=Math.min(255,(255&c)+Math.round((255-(255&c))*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}function p({profile:a,initials:b,onSetName:c,onSetBannerColor:f,onSetAvatarUrl:g,onSetRole:h}){let[i,j]=(0,e.useState)(!1),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(a.name),[v,w]=(0,e.useState)(a.role||""),x=(0,e.useRef)(null),y=(0,e.useRef)(null),z=(0,e.useRef)(null),A=()=>{c(t.trim()),q(!1)},B=()=>{h(v.trim()),s(!1)},C=!!a.avatarUrl;return(0,d.jsxs)("div",{className:"relative",ref:x,children:[(0,d.jsx)("button",{onClick:()=>j(!i),className:"w-9 h-9 rounded-full flex items-center justify-center text-xs font-medium overflow-hidden border-2 transition-all hover:scale-105",style:{borderColor:i?"var(--accent)":"transparent",boxShadow:i?"0 0 0 2px var(--accent), 0 2px 8px rgba(0,0,0,0.1)":"0 1px 3px rgba(0,0,0,0.08)"},children:C?(0,d.jsx)("img",{src:a.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,d.jsx)("span",{className:"w-full h-full flex items-center justify-center",style:{backgroundColor:a.bannerColor,color:"#fff"},children:b})}),i&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-80 border z-50 overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",borderRadius:"var(--radius-lg)",boxShadow:"var(--shadow-xl)",animation:"fadeIn 150ms ease-out"},children:[(0,d.jsxs)("div",{className:"relative px-5 pt-5 pb-4",style:{background:`linear-gradient(135deg, ${a.bannerColor} 0%, ${o(a.bannerColor,.4)} 50%, ${a.bannerColor} 100%)`},children:[(0,d.jsx)("div",{className:"absolute inset-0 opacity-10",style:{backgroundImage:"radial-gradient(circle at 20% 50%, white 1px, transparent 1px), radial-gradient(circle at 80% 20%, white 1px, transparent 1px)",backgroundSize:"30px 30px"}}),(0,d.jsxs)("div",{className:"relative flex items-end gap-4",children:[(0,d.jsxs)("div",{className:"relative group",children:[(0,d.jsx)("div",{className:"w-16 h-16 rounded-xl overflow-hidden border-3 flex-shrink-0",style:{borderColor:"rgba(255,255,255,0.3)",boxShadow:"0 4px 12px rgba(0,0,0,0.2)"},children:C?(0,d.jsx)("img",{src:a.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,d.jsx)("div",{className:"w-full h-full flex items-center justify-center text-xl font-bold",style:{backgroundColor:a.bannerColor,color:"#fff"},children:b})}),(0,d.jsx)("div",{className:"absolute inset-0 rounded-xl flex items-center justify-center opacity-0 group-hover:opacity-100 cursor-pointer transition-opacity",style:{backgroundColor:"rgba(0,0,0,0.4)"},onClick:a=>{a.stopPropagation(),document.getElementById("avatar-gallery")?.scrollIntoView({behavior:"smooth"})},children:(0,d.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"white",children:(0,d.jsx)("path",{d:"M14 11V14H2V11H0V14C0 15.1.9 16 2 16H14C15.1 16 16 15.1 16 14V11H14ZM7 9L4.5 6.5L3 8L8 13L13 8L11.5 6.5L9 9V0H7V9Z"})})})]}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 pb-1",children:[p?(0,d.jsx)("input",{ref:y,value:t,onChange:a=>u(a.target.value),onBlur:A,onKeyDown:a=>{"Enter"===a.key&&A(),"Escape"===a.key&&q(!1)},className:"w-full bg-white/20 backdrop-blur-sm outline-none text-white text-sm font-semibold px-2 py-1 rounded placeholder-white/50",placeholder:"Your name..."}):(0,d.jsx)("div",{className:"text-sm font-semibold text-white cursor-pointer hover:opacity-80 truncate",onClick:()=>{u(a.name),q(!0)},children:a.name||"Click to set name"}),(0,d.jsx)("div",{className:"text-[11px] mt-0.5 px-2 py-0.5 rounded-full inline-block cursor-pointer hover:opacity-80",style:{backgroundColor:"rgba(255,255,255,0.15)",color:"rgba(255,255,255,0.9)"},onClick:()=>{w(a.role||""),s(!0)},children:r?(0,d.jsx)("input",{ref:z,value:v,onChange:a=>w(a.target.value),onBlur:B,onKeyDown:a=>{"Enter"===a.key&&B(),"Escape"===a.key&&s(!1)},className:"bg-transparent outline-none text-white text-[11px] w-24 placeholder-white/50",placeholder:"Your role..."}):a.role||"Set role..."})]})]})]}),(0,d.jsxs)("div",{className:"px-4 pt-3 pb-2",children:[(0,d.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Role"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:n.map(b=>(0,d.jsx)("button",{onClick:()=>h(b),className:"px-2 py-1 text-[10px] rounded-md border transition-colors",style:{borderColor:a.role===b?"var(--accent)":"var(--border)",color:a.role===b?"var(--accent)":"var(--text-secondary)",backgroundColor:a.role===b?"var(--accent)10":"transparent",fontWeight:a.role===b?600:400},children:b},b))})]}),(0,d.jsxs)("div",{id:"avatar-gallery",className:"px-4 pt-2 pb-3",children:[(0,d.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Choose Avatar"}),(0,d.jsx)("div",{className:"grid grid-cols-6 gap-2",children:l.map((b,c)=>(0,d.jsx)("button",{onClick:()=>g(b),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:a.avatarUrl===b?"var(--accent)":"transparent",boxShadow:a.avatarUrl===b?"0 0 0 2px var(--accent)":"none"},children:(0,d.jsx)("img",{src:b,alt:`Avatar ${c+11}`,className:"w-full h-full object-cover",loading:"lazy"})},b))}),(0,d.jsx)("div",{className:"grid grid-cols-6 gap-2 mt-2",children:m.map((b,c)=>(0,d.jsx)("button",{onClick:()=>g(b),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:a.avatarUrl===b?"var(--accent)":"transparent",boxShadow:a.avatarUrl===b?"0 0 0 2px var(--accent)":"none"},children:(0,d.jsx)("img",{src:b,alt:`Avatar ${c+23}`,className:"w-full h-full object-cover",loading:"lazy"})},b))})]}),(0,d.jsxs)("div",{className:"px-4 pb-4",children:[(0,d.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Banner Color"}),(0,d.jsx)("div",{className:"grid grid-cols-8 gap-1.5",children:k.T7.map(b=>(0,d.jsx)("button",{onClick:()=>f(b),className:"w-6 h-6 rounded-full transition-transform hover:scale-110 relative overflow-hidden",style:{background:`linear-gradient(135deg, ${function(a,b){let c=parseInt(a.replace("#",""),16),d=Math.max(0,(c>>16)-Math.round((c>>16)*.3)),e=Math.max(0,(c>>8&255)-Math.round((c>>8&255)*.3)),f=Math.max(0,(255&c)-Math.round((255&c)*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}(b,.3)} 0%, ${b} 50%, ${o(b,.3)} 100%)`,outline:a.bannerColor!==b||a.avatarUrl?"none":"2px solid var(--accent)",outlineOffset:2},children:(0,d.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%)",animation:"shimmer 2s ease-in-out infinite"}})},b))})]}),(0,d.jsxs)("div",{className:"px-4 py-2.5 border-t flex items-center justify-between",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,d.jsx)("span",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:"Profile data stored locally"}),(0,d.jsx)("button",{onClick:()=>j(!1),className:"text-[10px] font-medium px-2 py-0.5 rounded",style:{color:"var(--accent)"},children:"Done"})]})]})]})}function q({open:a,onClose:b,profile:c,initials:f,stats:g}){let[h,i]=(0,e.useState)(!1);if(!a)return null;let j=`My Test Lah!:
|
|
2
|
-
${g.projects} Projects | ${g.testCases} Cases | ${g.passRate}% Pass Rate`,k=async()=>{if(navigator.share)try{await navigator.share({title:"Test Lah! Stats",text:j})}catch{}else navigator.clipboard.writeText(j)};return(0,d.jsx)("div",{className:"fixed inset-0 z-[300] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:b,children:(0,d.jsxs)("div",{className:"w-72 mx-4",onClick:a=>a.stopPropagation(),style:{perspective:"1000px"},children:[(0,d.jsxs)("div",{className:"relative w-full",style:{transformStyle:"preserve-3d",transform:h?"rotateY(180deg)":"rotateY(0)",transition:"transform 0.5s ease",height:"380px"},children:[(0,d.jsxs)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)"},children:[(0,d.jsx)("div",{className:"absolute inset-0",style:{background:`linear-gradient(160deg, ${function(a,b){let c=parseInt(a.replace("#",""),16),d=Math.max(0,(c>>16)-Math.round((c>>16)*.25)),e=Math.max(0,(c>>8&255)-Math.round((c>>8&255)*b)),f=Math.max(0,(255&c)-Math.round((255&c)*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}(c.bannerColor,.25)} 0%, ${c.bannerColor} 50%, ${function(a,b){let c=parseInt(a.replace("#",""),16),d=Math.min(255,(c>>16)+Math.round((255-(c>>16))*.2)),e=Math.min(255,(c>>8&255)+Math.round((255-(c>>8&255))*b)),f=Math.min(255,(255&c)+Math.round((255-(255&c))*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}(c.bannerColor,.2)} 100%)`}}),(0,d.jsxs)("div",{className:"relative h-full flex flex-col items-center justify-center px-4",children:[(0,d.jsx)("div",{className:"w-20 h-20 rounded-xl overflow-hidden border-2 mb-3",style:{borderColor:"rgba(255,255,255,0.3)"},children:c.avatarUrl?(0,d.jsx)("img",{src:c.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,d.jsx)("div",{className:"w-full h-full flex items-center justify-center text-2xl font-bold",style:{backgroundColor:"rgba(0,0,0,0.2)",color:"#fff"},children:f})}),(0,d.jsx)("h3",{className:"text-base font-semibold text-white drop-shadow-sm",children:c.name||"Anonymous Tester"}),(0,d.jsx)("p",{className:"text-xs mt-0.5 text-white/70",children:c.role||"No role set"}),(0,d.jsxs)("div",{className:"flex items-center gap-4 mt-4",children:[(0,d.jsx)(r,{value:g.projects,label:"Projects"}),(0,d.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,d.jsx)(r,{value:g.testCases,label:"Cases"}),(0,d.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,d.jsx)(r,{value:`${g.passRate}%`,label:"Pass"})]}),(0,d.jsx)("button",{onClick:()=>i(!0),className:"mt-5 px-4 py-1.5 text-[11px] font-medium rounded-full transition-colors",style:{backgroundColor:"rgba(255,255,255,0.2)",color:"#fff"},children:"View stats"})]})]}),(0,d.jsx)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",transform:"rotateY(180deg)",borderColor:"var(--border)",backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-lg)"},children:(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsxs)("div",{className:"px-4 py-3 border-b flex items-center justify-between",style:{borderColor:"var(--border)"},children:[(0,d.jsx)("span",{className:"text-xs font-semibold",style:{color:"var(--text-primary)"},children:"Statistics"}),(0,d.jsx)("button",{onClick:()=>i(!1),className:"text-[10px] px-2 py-0.5 rounded border transition-colors hover:bg-[var(--bg-secondary)]",style:{color:"var(--text-tertiary)",borderColor:"var(--border)"},children:"Back"})]}),(0,d.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-[10px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:"Pass Rate"}),(0,d.jsxs)("span",{className:"text-sm font-semibold",style:{color:g.passRate>=80?"var(--status-pass-text)":g.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"},children:[g.passRate,"%"]})]}),(0,d.jsx)("div",{className:"h-1.5 rounded-full overflow-hidden",style:{backgroundColor:"var(--bg-secondary)"},children:(0,d.jsx)("div",{className:"h-full rounded-full",style:{width:`${g.passRate}%`,backgroundColor:g.passRate>=80?"var(--status-pass-text)":g.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"}})})]}),(0,d.jsxs)("div",{className:"grid grid-cols-4 gap-1.5",children:[(0,d.jsx)(s,{label:"Pass",value:g.pass,color:"var(--status-pass-text)"}),(0,d.jsx)(s,{label:"Fail",value:g.fail,color:"var(--status-fail-text)"}),(0,d.jsx)(s,{label:"Skip",value:g.skip,color:"var(--status-skip-text)"}),(0,d.jsx)(s,{label:"New",value:g.untested})]}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(t,{label:"Test Cases",value:g.testCases}),(0,d.jsx)(t,{label:"Flow Nodes",value:g.nodes}),(0,d.jsx)(t,{label:"Edges",value:g.edges}),(0,d.jsx)(t,{label:"Projects",value:g.projects})]}),(0,d.jsxs)("button",{onClick:k,className:"w-full px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)] flex items-center justify-center gap-1.5",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:[(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8"}),(0,d.jsx)("polyline",{points:"16 6 12 2 8 6"}),(0,d.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"15"})]}),"Share"]})]})]})})]}),(0,d.jsx)("button",{onClick:b,className:"w-full mt-2 px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)",backgroundColor:"var(--bg-card)"},children:"Close"})]})})}function r({value:a,label:b}){return(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"text-sm font-semibold text-white",children:a}),(0,d.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/60",children:b})]})}function s({label:a,value:b,color:c}){return(0,d.jsxs)("div",{className:"py-2 rounded-lg text-center",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,d.jsx)("div",{className:"text-sm font-medium",style:{color:c??"var(--text-secondary)"},children:b}),(0,d.jsx)("div",{className:"text-[8px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:a})]})}function t({label:a,value:b}){return(0,d.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 rounded-lg",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,d.jsx)("span",{className:"text-[11px]",style:{color:"var(--text-tertiary)"},children:a}),(0,d.jsx)("span",{className:"text-xs font-medium",style:{color:"var(--text-primary)"},children:b})]})}var u=c(64271);function v(){let{projects:a,activeProject:b,activeProjectId:c,profile:h,profileInitials:k,setProfileName:l,setProfileBannerColor:m,setProfileAvatarUrl:n,setProfileRole:o}=(0,g.M)(),{logout:r}=(0,j.A)(),s=(0,f.useRouter)(),t=(0,f.usePathname)(),{startProgress:v,completeProgress:x}=(0,u.p1)(),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),C=Object.values(a),D=(0,e.useMemo)(()=>{let a=C.flatMap(a=>Object.values(a.testCases).flat()),b=a.length,c=a.filter(a=>"pass"===a.status).length,d=a.filter(a=>"fail"===a.status).length,e=a.filter(a=>"skip"===a.status).length,f=a.filter(a=>"untested"===a.status).length,g=C.reduce((a,b)=>a+b.flows.length,0),h=C.reduce((a,b)=>a+(b.edges??[]).length,0),i=b-e,j=i>0?Math.round(c/i*100):0;return{projects:C.length,testCases:b,passRate:j,nodes:g,edges:h,pass:c,fail:d,skip:e,untested:f}},[C]),E=t.startsWith("/integrations")?"integrations":"projects";return(0,d.jsxs)("header",{className:"flex flex-col border-b flex-shrink-0 relative",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)"},children:[(0,d.jsx)("div",{className:"absolute inset-0 overflow-hidden flex items-center justify-center pointer-events-none group/duck",children:(0,d.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"",className:"h-[85%] object-contain select-none transition-all duration-300 group-hover/duck:scale-110 group-hover/duck:opacity-[0.15] cursor-pointer",style:{opacity:.09,pointerEvents:"auto"},onClick:()=>s.push("/projects"),title:"Quack! \uD83E\uDD86"})}),(0,d.jsxs)("div",{className:"relative z-10 flex items-center justify-between px-6 py-2.5",children:[(0,d.jsx)("div",{className:"flex items-center gap-3",children:(0,d.jsxs)(i(),{href:"/projects",className:"flex items-center gap-2",children:[(0,d.jsx)("div",{className:"w-8 h-8 rounded-md overflow-hidden bg-white flex-shrink-0",style:{boxShadow:"0 1px 4px rgba(0,0,0,0.08)"},children:(0,d.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"Logo",width:32,height:32,className:"w-full h-full object-contain"})}),(0,d.jsx)("span",{className:"shimmer-text text-sm font-bold tracking-wide select-none",style:{background:"linear-gradient(90deg, var(--text-primary) 0%, var(--text-primary) 40%, #FFD54F 50%, var(--text-primary) 60%, var(--text-primary) 100%)",backgroundSize:"200% 100%",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",animation:"shimmerText 3s ease-in-out infinite"},children:"Test Lah!"})]})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>z(!0),className:"hidden md:block px-3 py-1.5 text-[11px] font-medium rounded-md border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"My Card"}),(0,d.jsx)("div",{className:"hidden md:block w-px h-5 mx-0.5",style:{backgroundColor:"var(--border)"}}),(0,d.jsx)("div",{className:"relative z-[60]",children:(0,d.jsx)(p,{profile:h,initials:k,onSetName:l,onSetBannerColor:m,onSetAvatarUrl:n,onSetRole:o})}),(0,d.jsx)("button",{onClick:()=>{B(!0)},className:"w-8 h-8 flex items-center justify-center text-xs rounded-md border transition-colors hover:bg-[var(--bg-secondary)] hover:border-[var(--status-fail-text)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Logout",children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:(0,d.jsx)("path",{d:"M5 2H3.5A1.5 1.5 0 002 3.5v7A1.5 1.5 0 003.5 12H5M9 10l3-3-3-3M6 7h6",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),(0,d.jsxs)("div",{className:"relative z-10 flex items-center gap-1 px-6",children:[(0,d.jsx)(w,{label:"All Projects",href:"/projects",icon:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,d.jsx)("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("rect",{x:"8",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("rect",{x:"1",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("rect",{x:"8",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"})]}),active:"projects"===E}),(0,d.jsx)(w,{label:"Integrations",href:"/integrations",icon:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,d.jsx)("circle",{cx:"5",cy:"5",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("circle",{cx:"9",cy:"9",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("path",{d:"M7.5 5.5L6.5 8.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}),active:"integrations"===E})]}),(0,d.jsx)(q,{open:y,onClose:()=>z(!1),profile:h,initials:k,stats:D}),A&&(0,d.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:()=>B(!1),children:(0,d.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-xl border overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)",animation:"fadeInUp 200ms ease-out"},onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"px-6 pt-6 pb-4 text-center",children:[(0,d.jsx)("div",{className:"w-14 h-14 mx-auto mb-4 rounded-full flex items-center justify-center",style:{backgroundColor:"var(--status-skip-bg)"},children:(0,d.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--status-skip-text)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4"}),(0,d.jsx)("polyline",{points:"16 17 21 12 16 7"}),(0,d.jsx)("line",{x1:"21",y1:"12",x2:"9",y2:"12"})]})}),(0,d.jsx)("h3",{className:"text-base font-semibold mb-2",style:{color:"var(--text-primary)"},children:"Mau Keluar? Sedekahnya mana??"}),(0,d.jsx)("p",{className:"text-xs leading-relaxed",style:{color:"var(--text-tertiary)"},children:"Sebelum keluar, mungkin bisa traktir developer secangkir kopi? ☕"})]}),(0,d.jsxs)("div",{className:"px-6 pb-5 flex gap-2",children:[(0,d.jsx)("button",{onClick:()=>B(!1),className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Batal"}),(0,d.jsx)("button",{onClick:()=>{B(!1),v("Logging out..."),r(),setTimeout(()=>{x("Logged out!"),s.push("/login")},500)},className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg transition-opacity hover:opacity-80",style:{backgroundColor:"var(--status-fail-text)",color:"#fff"},children:"Keluar"})]})]})})]})}function w({label:a,icon:b,active:c,href:e,badge:f}){return(0,d.jsxs)(i(),{href:e,className:"flex items-center gap-2 px-3 py-2 text-xs font-medium rounded-t-md transition-colors relative",style:{color:c?"var(--accent)":"var(--text-tertiary)",backgroundColor:c?"var(--bg-secondary)":"transparent"},children:[b,a,f&&(0,d.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold rounded-full leading-none",style:{backgroundColor:c?"var(--accent)":"var(--bg-secondary)",color:c?"#fff":"var(--text-tertiary)"},children:f}),c&&(0,d.jsx)("div",{className:"absolute bottom-0 left-2 right-2 h-0.5 rounded-t-full",style:{backgroundColor:"var(--accent)"}})]})}var x=c(42423);function y({children:a}){(0,f.useRouter)();let{isLoggedIn:b,loaded:c}=(0,j.A)();return c?b?(0,d.jsx)(d.Fragment,{children:a}):null:(0,d.jsx)("div",{className:"h-screen flex items-center justify-center",style:{backgroundColor:"var(--bg-primary)"},children:(0,d.jsx)("div",{className:"text-sm",style:{color:"var(--text-tertiary)"},children:"Loading..."})})}function z(){let{undo:a,redo:b,canUndo:c,canRedo:d}=(0,g.M)();return null}function A({children:a}){let{dialog:b}=(0,g.M)();return(0,d.jsxs)(d.Fragment,{children:[a,(0,d.jsx)(x.q,{dialog:b})]})}function B({children:a}){return(0,d.jsx)(y,{children:(0,d.jsx)(g.q,{children:(0,d.jsx)(A,{children:(0,d.jsxs)("div",{className:"h-screen flex flex-col",style:{backgroundColor:"var(--bg-primary)"},children:[(0,d.jsx)(z,{}),(0,d.jsx)(v,{}),(0,d.jsx)("div",{className:"flex-1 min-h-0",children:a})]})})})})}},26239:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call Providers() from the server but Providers is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/sltr91025/code-repository/open-source/test-lah/src/components/shared/Providers.tsx","Providers")},34776:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(38301);function e(a){try{sessionStorage.setItem("qa-auth",JSON.stringify(a))}catch{}}function f(){let[a,b]=(0,d.useState)({name:"",isLoggedIn:!1}),[c,f]=(0,d.useState)(!1),g=(0,d.useCallback)(a=>{let c={name:a,isLoggedIn:!0};e(c),b(c)},[]),h=(0,d.useCallback)(()=>{let a={name:"",isLoggedIn:!1};e(a),b(a)},[]);return{...a,loaded:c,login:g,logout:h}}},35473:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>f});var d=c(21124),e=c(64271);function f({children:a}){return(0,d.jsx)(e.Vx,{children:a})}},37687:(a,b,c)=>{Promise.resolve().then(c.bind(c,26239))},42423:(a,b,c)=>{"use strict";c.d(b,{q:()=>g,s:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)(null),c=(0,e.useCallback)((a,c)=>new Promise(d=>{b({type:"alert",title:a,message:c,resolve:()=>{b(null),d()}})}),[]);return{dialog:a,alert:c,confirm:(0,e.useCallback)((a,c)=>new Promise(d=>{b({type:"confirm",title:a,message:c,resolve:a=>{b(null),d(!0===a)}})}),[]),prompt:(0,e.useCallback)((a,c,d="")=>new Promise(e=>{b({type:"prompt",title:a,message:c,defaultValue:d,resolve:a=>{b(null),e("string"==typeof a?a:null)}})}),[])}}function g({dialog:a}){let[b,c]=(0,e.useState)(""),f=(0,e.useRef)(null);return a?(0,d.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:()=>a.resolve("prompt"===a.type&&null),children:(0,d.jsx)("div",{className:"relative w-full max-w-sm mx-4",onClick:a=>a.stopPropagation(),children:(0,d.jsx)("div",{className:"p-[2px] rounded-xl overflow-hidden",style:{background:"linear-gradient(135deg, #9E7AFF 0%, #FE8BBB 50%, #9E7AFF 100%)",backgroundSize:"200% 200%",animation:"borderShine 3s linear infinite"},children:(0,d.jsxs)("div",{className:"rounded-[10px] p-5",style:{backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-xl)"},children:[(0,d.jsx)("h3",{className:"text-sm font-semibold mb-2",style:{color:"var(--text-primary)"},children:a.title}),(0,d.jsx)("p",{className:"text-xs mb-4",style:{color:"var(--text-secondary)"},children:a.message}),"prompt"===a.type&&(0,d.jsx)("input",{ref:f,value:b,onChange:a=>c(a.target.value),onKeyDown:c=>{"Enter"===c.key&&a.resolve(b.trim()||null)},className:"w-full px-3 py-2 text-sm rounded-lg border outline-none transition-colors focus:border-[var(--accent)] mb-4",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)",color:"var(--text-primary)"},placeholder:"Enter value..."}),(0,d.jsxs)("div",{className:"flex gap-2 justify-end",children:["alert"!==a.type&&(0,d.jsx)("button",{onClick:()=>a.resolve("prompt"===a.type&&null),className:"px-3 py-1.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Cancel"}),(0,d.jsx)("button",{onClick:()=>{"confirm"===a.type?a.resolve(!0):"prompt"===a.type?a.resolve(b.trim()||null):a.resolve(null)},className:"px-3 py-1.5 text-xs font-medium rounded-lg transition-opacity hover:opacity-80",style:{backgroundColor:"var(--accent)",color:"var(--bg-primary)"},children:"confirm"===a.type?"Confirm":"OK"})]})]})})})}):null}},44309:(a,b,c)=>{Promise.resolve().then(c.bind(c,22048))},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,metadata:()=>h});var d=c(75338),e=c(76555),f=c.n(e);c(61135);var g=c(26239);let h={title:"Test Lah!",description:"Test Lah! — Your Boss's Favorite QA Tool",icons:{icon:"/favicon.ico"}};function i({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{className:f().variable,style:{fontFamily:"Inter, system-ui, sans-serif"},children:(0,d.jsx)(g.Providers,{children:a})})})}},61135:()=>{},64271:(a,b,c)=>{"use strict";c.d(b,{Vx:()=>h,p1:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)(null);function g(){let a=(0,e.useContext)(f);if(!a)throw Error("useProgress must be used within ProgressProvider");return a}function h({children:a}){let[b,c]=(0,e.useState)(0),[g,h]=(0,e.useState)(""),[i,j]=(0,e.useState)(!1),k=(0,e.useRef)(null),l=(0,e.useRef)(null),m=(0,e.useCallback)(()=>{k.current&&(clearInterval(k.current),k.current=null),l.current&&(clearTimeout(l.current),l.current=null)},[]),n=(0,e.useCallback)(()=>{j(!1),c(0),h("")},[]),o=(0,e.useCallback)(a=>{m(),c(0),h(a||""),j(!0),k.current=setInterval(()=>{c(a=>a>=90?(k.current&&clearInterval(k.current),k.current=null,90):a+15*Math.random())},300),l.current=setTimeout(()=>{n()},8e3)},[m,n]),p=(0,e.useCallback)((a,b)=>{c(Math.min(95,a)),b&&h(b)},[]),q=(0,e.useCallback)(a=>{m(),c(100),a&&h(a),setTimeout(()=>{n()},500)},[m,n]),r=(0,e.useCallback)(()=>{m(),n()},[m,n]);return(0,d.jsxs)(f.Provider,{value:{startProgress:o,updateProgress:p,completeProgress:q,cancelProgress:r,isProgressing:i},children:[a,(0,d.jsxs)("div",{className:"fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out",style:{opacity:+!!i,transform:i?"translateY(0)":"translateY(100%)",pointerEvents:i?"auto":"none"},children:[(0,d.jsx)("div",{className:"h-1 w-full",style:{backgroundColor:"var(--bg-secondary)"},children:(0,d.jsx)("div",{className:"h-full transition-all duration-200 ease-out",style:{width:`${b}%`,backgroundColor:b>=100?"var(--status-pass-text)":"var(--accent)",boxShadow:b>=100?"0 0 10px var(--status-pass-text)":"none"}})}),g&&(0,d.jsxs)("div",{className:"flex items-center justify-center py-2 px-4 text-xs font-medium cursor-pointer",onClick:r,style:{backgroundColor:"var(--bg-card)",color:b>=100?"var(--status-pass-text)":"var(--text-secondary)",borderTop:"1px solid var(--border)"},children:[b>=100&&(0,d.jsx)("svg",{className:"mr-2",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:(0,d.jsx)("path",{d:"M2 6l3 3 5-5",stroke:"var(--status-pass-text)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),g]})]})]})}},66688:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},70440:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/x-icon",sizes:"350x350",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+""}]},90831:(a,b,c)=>{Promise.resolve().then(c.bind(c,35473))},97788:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx","default")}};
|
|
1
|
+
exports.id=615,exports.ids=[615],exports.modules={2453:(a,b,c)=>{Promise.resolve().then(c.bind(c,97788))},3136:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},5908:(a,b,c)=>{"use strict";c.d(b,{q:()=>n,M:()=>o});var d=c(21124),e=c(38301);function f(a,b){let[c,d]=(0,e.useState)(()=>b),[f,g]=(0,e.useState)(null),h=(0,e.useRef)(null);return[c,(0,e.useCallback)(a=>{d(b=>{let c=a instanceof Function?a(b):a;return h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{g(new Date().toISOString())},300),c})},[a]),f]}var g=c(19188);let h={projects:{},activeProjectId:null,selectedNodeId:null},i={name:"",bannerColor:"#64B5F6",avatarUrl:"",role:"QA Engineer"};function j(a){try{localStorage.setItem("qa-last-test-activity",new Date().toISOString());let b=localStorage.getItem("qa-project-activity"),c=b?JSON.parse(b):{};c[a]=new Date().toISOString(),localStorage.setItem("qa-project-activity",JSON.stringify(c))}catch{}}let k={baseUrl:"http://localhost:3000",browser:"chromium",headless:!0,timeout:3e4};var l=c(42423);let m=(0,e.createContext)(null);function n({children:a}){let b=function(){let[a,b,c]=f("qa-dashboard",h),d=(0,e.useCallback)((a,c)=>{let d=crypto.randomUUID(),e={id:d,name:a,type:c||"",notes:"",createdAt:new Date().toISOString(),flows:[],testCases:{},columnConfig:[...g._X],columnConfigs:{},edges:[],userProfile:{name:"",bannerColor:"#64B5F6"},nodeCounter:0,tcCounter:{}};return b(a=>({...a,projects:{...a.projects,[d]:e},activeProjectId:d,selectedNodeId:null})),d},[b]),i=(0,e.useCallback)(a=>{b(b=>{let{[a]:c,...d}=b.projects,e=Object.keys(d);return{...b,projects:d,activeProjectId:b.activeProjectId===a?e[0]??null:b.activeProjectId,selectedNodeId:b.activeProjectId===a?null:b.selectedNodeId}})},[b]),j=(0,e.useCallback)(a=>{b(b=>({...b,activeProjectId:a,selectedNodeId:null}))},[b]),k=(0,e.useCallback)((a,c)=>{b(b=>({...b,projects:{...b.projects,[a]:{...b.projects[a],name:c}}}))},[b]),l=(0,e.useCallback)(a=>{b(b=>{let c=b.projects[a];if(!c)return b;let d=crypto.randomUUID(),e=new Date().toISOString(),f={...JSON.parse(JSON.stringify(c)),id:d,name:`${c.name} (Copy)`,createdAt:e};return{...b,projects:{...b.projects,[d]:f},activeProjectId:d,selectedNodeId:null}})},[b]),m=(0,e.useCallback)(a=>{try{let c=JSON.parse(a);if(!c||"object"!=typeof c)return{ok:!1,error:"Invalid JSON"};if(!c.name||!c.flows)return{ok:!1,error:"Missing required fields (name, flows)"};let d=crypto.randomUUID(),e={id:d,name:c.name,createdAt:c.createdAt||new Date().toISOString(),flows:Array.isArray(c.flows)?c.flows:[],testCases:c.testCases&&"object"==typeof c.testCases?c.testCases:{},columnConfig:Array.isArray(c.columnConfig)?c.columnConfig:[...g._X],columnConfigs:c.columnConfigs&&"object"==typeof c.columnConfigs?c.columnConfigs:{},edges:Array.isArray(c.edges)?c.edges:[],userProfile:c.userProfile&&"object"==typeof c.userProfile?c.userProfile:{name:"",bannerColor:"#64B5F6"},nodeCounter:"number"==typeof c.nodeCounter?c.nodeCounter:0,tcCounter:c.tcCounter&&"object"==typeof c.tcCounter?c.tcCounter:{}};return b(a=>({...a,projects:{...a.projects,[d]:e},activeProjectId:d,selectedNodeId:null})),{ok:!0}}catch{return{ok:!1,error:"Failed to parse project file"}}},[b]),n=(0,e.useCallback)(a=>{b(b=>({...b,selectedNodeId:a}))},[b]),o=(0,e.useCallback)((a,c)=>{b(b=>({...b,projects:{...b.projects,[a]:c(b.projects[a])}}))},[b]),p=a.activeProjectId?a.projects[a.activeProjectId]??null:null;return{state:a,setState:b,projects:a.projects,activeProject:p,activeProjectId:a.activeProjectId,selectedNodeId:a.selectedNodeId,createProject:d,deleteProject:i,duplicateProject:l,importProject:m,switchProject:j,renameProject:k,setSelectedNodeId:n,updateProject:o,lastSaved:c}}(),c=function(){let[a,b]=f("qa-profile",i),c=a.name.split(" ").map(a=>a[0]).filter(Boolean).slice(0,2).join("").toUpperCase()||"?";return{profile:a,setName:a=>b(b=>({...b,name:a})),setBannerColor:a=>b(b=>({...b,bannerColor:a})),setAvatarUrl:a=>b(b=>({...b,avatarUrl:a})),setRole:a=>b(b=>({...b,role:a})),initials:c}}(),n=function(a,b){let[c,d]=(0,e.useState)([]),[f,g]=(0,e.useState)(-1),h=(0,e.useRef)(!1),i=(0,e.useCallback)(b=>{if(!a||h.current){h.current=!1;return}d(c=>{let d=[...c.slice(0,f+1),{label:b,projectSnapshot:JSON.parse(JSON.stringify(a))}];return d.length>50&&d.shift(),d}),g(a=>Math.min(a+1,49))},[a,f]),j=(0,e.useCallback)(()=>{if(f<0||!a)return;let d=c[f];d&&(h.current=!0,b(a.id,()=>d.projectSnapshot),g(a=>a-1))},[c,f,a,b]),k=(0,e.useCallback)(()=>{if(f>=c.length-1||!a)return;let d=c[f+1];d&&(h.current=!0,b(a.id,()=>d.projectSnapshot),g(a=>a+1))},[c,f,a,b]),l=f>=0;return{pushState:i,undo:j,redo:k,canUndo:l,canRedo:f<c.length-1,recentActions:c.slice(-10).map(a=>a.label).reverse()}}(b.activeProject,b.updateProject),o=function(a,b,c,d){let f=a?.flows??[],h=a?.edges??[],i=(0,e.useCallback)((c,e,f,h)=>{if(!a)return null;let i=crypto.randomUUID(),j="";return b(a.id,a=>{let b=(a.nodeCounter??0)+1,d=(e||"").trim().replace(/[^a-zA-Z0-9\s]/g,"").split(/\s+/).filter(a=>a.length>0),k="";k=d.length>=2?d[0].charAt(0).toUpperCase()+d[d.length-1].charAt(0).toUpperCase():1===d.length&&d[0].length>=2?d[0].charAt(0).toUpperCase()+d[0].charAt(d[0].length-1).toUpperCase():"N";let l=a.flows.map(a=>a.code),m=k,n=1;for(;l.includes(m);)m=k+String(++n);j=m;let o=(0,g.IU)(i,j,e,c);f&&(o.position=f),h&&(o.direction=h);let p=[...a.flows];if(c){let a=p.findIndex(a=>a.id===c);-1!==a&&(p[a]={...p[a],children:[...p[a].children,i]})}return p.push(o),{...a,flows:p,testCases:{...a.testCases,[i]:[]},nodeCounter:b}}),d(i),i},[a,b,d]),j=(0,e.useCallback)(e=>{if(!a)return;let f=new Set,g=b=>{f.add(b);let c=a.flows.find(a=>a.id===b);c?.children.forEach(g)};g(e),b(a.id,a=>{let b=a.flows.filter(a=>!f.has(a.id)).map(a=>({...a,children:a.children.filter(a=>!f.has(a))})),c={...a.testCases};f.forEach(a=>delete c[a]);let d=(a.edges??[]).filter(a=>!f.has(a.fromId)&&!f.has(a.toId));return{...a,flows:b,testCases:c,edges:d}}),f.has(c??"")&&d(null)},[a,b,c,d]),k=(0,e.useCallback)(e=>{if(!a||0===e.length)return;let f=new Set,g=b=>{f.add(b);let c=a.flows.find(a=>a.id===b);c?.children.forEach(g)};e.forEach(g),b(a.id,a=>{let b=a.flows.filter(a=>!f.has(a.id)).map(a=>({...a,children:a.children.filter(a=>!f.has(a))})),c={...a.testCases};f.forEach(a=>delete c[a]);let d=(a.edges??[]).filter(a=>!f.has(a.fromId)&&!f.has(a.toId));return{...a,flows:b,testCases:c,edges:d}}),f.has(c??"")&&d(null)},[a,b,c,d]),l=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,flows:a.flows.map(a=>a.id===c?{...a,label:d}:a)}))},[a,b]),m=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,flows:a.flows.map(a=>a.id===c?{...a,...d}:a)}))},[a,b]),n=(0,e.useCallback)(c=>{a&&b(a.id,a=>{let b=a.flows.find(a=>a.id===c);return b&&b.parentId?{...a,flows:a.flows.map(a=>a.id===c?{...a,parentId:null}:a.id===b.parentId?{...a,children:a.children.filter(a=>a!==c)}:a)}:a})},[a,b]),o=(0,e.useCallback)(a=>{d(a)},[d]),p=(0,e.useCallback)((c,d,e)=>{if(!a)return;let f={id:crypto.randomUUID(),fromId:c,toId:d,type:e};b(a.id,a=>({...a,edges:[...a.edges??[],f]}))},[a,b]),q=(0,e.useCallback)(c=>{a&&b(a.id,a=>({...a,edges:(a.edges??[]).filter(a=>a.id!==c)}))},[a,b]);return{nodes:f,edges:h,selectedNodeId:c,addNode:i,deleteNode:j,deleteNodes:k,unlinkNode:n,renameNode:l,updateNode:m,selectNode:o,addEdge:p,deleteEdge:q,updateEdge:(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,edges:(a.edges??[]).map(a=>a.id===c?{...a,...d}:a)}))},[a,b]),resetLayout:(0,e.useCallback)(()=>{a&&b(a.id,a=>({...a,flows:a.flows.map(a=>({...a,position:null}))}))},[a,b])}}(b.activeProject,b.updateProject,b.selectedNodeId,b.setSelectedNodeId),p=function(a,b,c){let d=c&&a?a.testCases[c]??[]:[],f=function(a){let b=a.length,c=a.filter(a=>"pass"===a.status).length,d=a.filter(a=>"fail"===a.status).length,e=a.filter(a=>"skip"===a.status).length,f=a.filter(a=>"untested"===a.status).length,g=a.filter(a=>"blocked"===a.status).length,h=b-e,i=h>0?Math.round(c/h*100):0;return{total:b,pass:c,fail:d,skip:e,untested:f,blocked:g,passRate:i}}(d),h=(0,e.useCallback)((c,d,e,f)=>{if(!a)return;let g=a.flows.find(a=>a.id===c),h=g?.code??"N000",i=a.testCases[c]??[],k="";b(a.id,a=>{let b={...a.tcCounter??{}},g=(b[c]??0)+1;b[c]=g,k=`${h}-TC${String(g).padStart(3,"0")}`;let j={id:crypto.randomUUID(),code:k,title:d,steps:e??"",expected:f??"",status:"untested",case_type:"General",notes:"",links:"",order:i.length};return{...a,testCases:{...a.testCases,[c]:[...a.testCases[c]??[],j]},tcCounter:b}}),j(a.id)},[a,b]),i=(0,e.useCallback)((c,d,e)=>{a&&(b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).map(a=>a.id===d?{...a,...e}:a)}})),j(a.id))},[a,b]),k=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).filter(a=>a.id!==d)}}))},[a,b]),l=(0,e.useCallback)((c,d)=>{if(!a||0===d.length)return;let e=new Set(d);b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).filter(a=>!e.has(a.id))}}))},[a,b]),m=(0,e.useCallback)((c,d,e)=>{if(!a||0===d.length)return;let f=new Set(d);b(a.id,a=>({...a,testCases:{...a.testCases,[c]:(a.testCases[c]??[]).map(a=>f.has(a.id)?{...a,...e}:a)}}))},[a,b]),n=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>{let b=new Map((a.testCases[c]??[]).map(a=>[a.id,a])),e=d.map((a,c)=>{let d=b.get(a);return d?{...d,order:c}:null}).filter(Boolean);return{...a,testCases:{...a.testCases,[c]:e}}})},[a,b]),o=(0,e.useCallback)((c,d,e)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},f=b[c]??[...g._X];return b[c]=f.map(a=>a.key===d?{...a,label:e}:a),{...a,columnConfigs:b}})},[a,b]),p=(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},e=b[c]??[...g._X];return b[c]=e.map(a=>a.key===d?{...a,visible:!a.visible}:a),{...a,columnConfigs:b}})},[a,b]),q=(0,e.useCallback)((c,d)=>{if(!a)return;let e=d.toLowerCase().replace(/\s+/g,"_");b(a.id,a=>{let b={...a.columnConfigs??{}},f=b[c]??[...g._X];return b[c]=[...f,{key:e,label:d,visible:!0}],{...a,columnConfigs:b}})},[a,b]);return{testCases:d,stats:f,addTestCase:h,updateTestCase:i,deleteTestCase:k,bulkDeleteTestCases:l,bulkUpdateTestCases:m,reorderTestCases:n,updateColumnConfig:o,toggleColumnVisibility:p,addColumn:q,deleteColumn:(0,e.useCallback)((c,d)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},e=b[c]??[...g._X];return b[c]=e.filter(a=>a.key!==d),{...a,columnConfigs:b}})},[a,b]),reorderColumn:(0,e.useCallback)((c,d,e)=>{a&&b(a.id,a=>{let b={...a.columnConfigs??{}},f=[...b[c]??[...g._X]],h=f.findIndex(a=>a.key===d);if(-1===h)return a;let i="up"===e?h-1:h+1;if(i<0||i>=f.length)return a;let j=f[h];return f[h]=f[i],f[i]=j,b[c]=f,{...a,columnConfigs:b}})},[a,b])}}(b.activeProject,b.updateProject,b.selectedNodeId),q=function(a,b){let c=a?.id,d=(0,e.useMemo)(()=>a?.e2eData||{config:k,runs:[],savedScripts:[]},[a?.e2eData]),f=(0,e.useCallback)(a=>{c&&b(c,b=>({...b,e2eData:a(b.e2eData||{config:k,runs:[],savedScripts:[]})}))},[c,b]),g=(0,e.useCallback)(a=>{f(b=>({...b,config:{...b.config,...a}}))},[f]),h=(0,e.useCallback)(a=>{let b={...a,id:`run-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,timestamp:new Date().toISOString()};return f(a=>({...a,runs:[b,...a.runs].slice(0,20)})),b},[f]),i=(0,e.useCallback)(a=>{f(b=>({...b,runs:b.runs.filter(b=>b.id!==a)}))},[f]),j=(0,e.useCallback)(()=>{f(a=>({...a,runs:[]}))},[f]),l=(0,e.useCallback)((a,b,d,e)=>{f(f=>{let g=f.savedScripts.findIndex(b=>b.testCaseId===a),h={id:g>=0?f.savedScripts[g].id:`script-${Date.now()}`,projectId:c,testCaseId:a,title:b,code:d,script:e,updatedAt:new Date().toISOString()},i=[...f.savedScripts];return g>=0?i[g]=h:i.push(h),{...f,savedScripts:i}})},[c,f]),m=(0,e.useCallback)(a=>{f(b=>({...b,savedScripts:b.savedScripts.filter(b=>b.testCaseId!==a)}))},[f]),n=(0,e.useCallback)(a=>d.savedScripts.find(b=>b.testCaseId===a),[d.savedScripts]);return{config:d.config,runs:d.runs,savedScripts:d.savedScripts,saveConfig:g,saveRun:h,deleteRun:i,clearRuns:j,saveScript:l,deleteScript:m,getScript:n}}(b.activeProject,b.updateProject),r=(0,l.s)(),s=(0,e.useMemo)(()=>({projects:b.projects,activeProject:b.activeProject,activeProjectId:b.activeProjectId,selectedNodeId:b.selectedNodeId,createProject:b.createProject,deleteProject:b.deleteProject,duplicateProject:b.duplicateProject,importProject:b.importProject,switchProject:b.switchProject,renameProject:b.renameProject,setSelectedNodeId:b.setSelectedNodeId,updateProject:b.updateProject,profile:c.profile,profileInitials:c.initials,setProfileName:c.setName,setProfileBannerColor:c.setBannerColor,setProfileAvatarUrl:c.setAvatarUrl,setProfileRole:c.setRole,canUndo:n.canUndo,canRedo:n.canRedo,undo:n.undo,redo:n.redo,pushState:n.pushState,mindmap:o,testCases:p,e2e:q,dialog:r.dialog,alertDialog:r.alert,confirmDialog:r.confirm,promptDialog:r.prompt,lastSaved:b.lastSaved}),[b,c,n,o,p,q,r]);return(0,d.jsx)(m.Provider,{value:s,children:a})}function o(){let a=(0,e.useContext)(m);if(!a)throw Error("useDashboard must be used within DashboardProvider");return a}},19188:(a,b,c)=>{"use strict";c.d(b,{D_:()=>e,IU:()=>g,T7:()=>f,_X:()=>d});let d=[{key:"code",label:"ID",visible:!0},{key:"title",label:"Test Case",visible:!0},{key:"steps",label:"Steps",visible:!0},{key:"expected",label:"Expected Result",visible:!0},{key:"status",label:"Status",visible:!0},{key:"case_type",label:"Case Type",visible:!1},{key:"notes",label:"Notes",visible:!0},{key:"links",label:"Links",visible:!1}],e=["General","Positive","Negative"],f=["#E57373","#F06292","#BA68C8","#9575CD","#7986CB","#64B5F6","#4FC3F7","#4DD0E1","#4DB6AC","#81C784","#AED581","#FFD54F","#FFB74D","#FF8A65","#A1887F","#90A4AE"];function g(a,b,c,d){return{id:a,code:b,label:c,parentId:d,children:[],shape:"rounded",notes:"",position:null}}},22048:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>B});var d=c(21124),e=c(38301),f=c(42378),g=c(5908),h=c(3991),i=c.n(h),j=c(34776),k=c(19188);let l=["https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_11.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_12.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_13.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_14.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_15.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_16.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_17.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_18.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_19.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_20.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_21.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_22.png"],m=["https://i.pinimg.com/736x/ed/74/06/ed74063ade6d66fce2ca19acbe74babc.jpg","https://i.pinimg.com/736x/8c/6d/56/8c6d563311f0917d45d1f2ce5d7c1a2d.jpg","https://i.pinimg.com/736x/86/b8/be/86b8bea1c772cf5c540e6f01e6acce59.jpg","https://i.pinimg.com/736x/78/d4/b1/78d4b1787a4fd23c2a8d21e4fbbc016f.jpg","https://i.pinimg.com/1200x/87/de/e6/87dee6d33b04f1df28bc85702ee12d4b.jpg","https://i.pinimg.com/1200x/3b/e3/95/3be395c4a94705f95e0603afb04f9d56.jpg","https://media.licdn.com/dms/image/v2/D5603AQHBu4wrzFWoTw/profile-displayphoto-crop_800_800/B56Zq.Sy6LKsAI-/0/1764129191465?e=1782345600&v=beta&t=79y6xLivwcpvwy53sy1TuVopK4FMp6O8uAu7QxlIxDo"],n=["QA Engineer","QA Lead","Developer","Designer","Manager"];function o(a,b){let c=parseInt(a.replace("#",""),16),d=Math.min(255,(c>>16)+Math.round((255-(c>>16))*b)),e=Math.min(255,(c>>8&255)+Math.round((255-(c>>8&255))*b)),f=Math.min(255,(255&c)+Math.round((255-(255&c))*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}function p({profile:a,initials:b,onSetName:c,onSetBannerColor:f,onSetAvatarUrl:g,onSetRole:h}){let[i,j]=(0,e.useState)(!1),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(a.name),[v,w]=(0,e.useState)(a.role||""),x=(0,e.useRef)(null),y=(0,e.useRef)(null),z=(0,e.useRef)(null),A=()=>{c(t.trim()),q(!1)},B=()=>{h(v.trim()),s(!1)},C=!!a.avatarUrl;return(0,d.jsxs)("div",{className:"relative",ref:x,children:[(0,d.jsx)("button",{onClick:()=>j(!i),className:"w-9 h-9 rounded-full flex items-center justify-center text-xs font-medium overflow-hidden border-2 transition-all hover:scale-105",style:{borderColor:i?"var(--accent)":"transparent",boxShadow:i?"0 0 0 2px var(--accent), 0 2px 8px rgba(0,0,0,0.1)":"0 1px 3px rgba(0,0,0,0.08)"},children:C?(0,d.jsx)("img",{src:a.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,d.jsx)("span",{className:"w-full h-full flex items-center justify-center",style:{backgroundColor:a.bannerColor,color:"#fff"},children:b})}),i&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-80 border z-50 overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",borderRadius:"var(--radius-lg)",boxShadow:"var(--shadow-xl)",animation:"fadeIn 150ms ease-out"},children:[(0,d.jsxs)("div",{className:"relative px-5 pt-5 pb-4",style:{background:`linear-gradient(135deg, ${a.bannerColor} 0%, ${o(a.bannerColor,.4)} 50%, ${a.bannerColor} 100%)`},children:[(0,d.jsx)("div",{className:"absolute inset-0 opacity-10",style:{backgroundImage:"radial-gradient(circle at 20% 50%, white 1px, transparent 1px), radial-gradient(circle at 80% 20%, white 1px, transparent 1px)",backgroundSize:"30px 30px"}}),(0,d.jsxs)("div",{className:"relative flex items-end gap-4",children:[(0,d.jsxs)("div",{className:"relative group",children:[(0,d.jsx)("div",{className:"w-16 h-16 rounded-xl overflow-hidden border-3 flex-shrink-0",style:{borderColor:"rgba(255,255,255,0.3)",boxShadow:"0 4px 12px rgba(0,0,0,0.2)"},children:C?(0,d.jsx)("img",{src:a.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,d.jsx)("div",{className:"w-full h-full flex items-center justify-center text-xl font-bold",style:{backgroundColor:a.bannerColor,color:"#fff"},children:b})}),(0,d.jsx)("div",{className:"absolute inset-0 rounded-xl flex items-center justify-center opacity-0 group-hover:opacity-100 cursor-pointer transition-opacity",style:{backgroundColor:"rgba(0,0,0,0.4)"},onClick:a=>{a.stopPropagation(),document.getElementById("avatar-gallery")?.scrollIntoView({behavior:"smooth"})},children:(0,d.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"white",children:(0,d.jsx)("path",{d:"M14 11V14H2V11H0V14C0 15.1.9 16 2 16H14C15.1 16 16 15.1 16 14V11H14ZM7 9L4.5 6.5L3 8L8 13L13 8L11.5 6.5L9 9V0H7V9Z"})})})]}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 pb-1",children:[p?(0,d.jsx)("input",{ref:y,value:t,onChange:a=>u(a.target.value),onBlur:A,onKeyDown:a=>{"Enter"===a.key&&A(),"Escape"===a.key&&q(!1)},className:"w-full bg-white/20 backdrop-blur-sm outline-none text-white text-sm font-semibold px-2 py-1 rounded placeholder-white/50",placeholder:"Your name..."}):(0,d.jsx)("div",{className:"text-sm font-semibold text-white cursor-pointer hover:opacity-80 truncate",onClick:()=>{u(a.name),q(!0)},children:a.name||"Click to set name"}),(0,d.jsx)("div",{className:"text-[11px] mt-0.5 px-2 py-0.5 rounded-full inline-block cursor-pointer hover:opacity-80",style:{backgroundColor:"rgba(255,255,255,0.15)",color:"rgba(255,255,255,0.9)"},onClick:()=>{w(a.role||""),s(!0)},children:r?(0,d.jsx)("input",{ref:z,value:v,onChange:a=>w(a.target.value),onBlur:B,onKeyDown:a=>{"Enter"===a.key&&B(),"Escape"===a.key&&s(!1)},className:"bg-transparent outline-none text-white text-[11px] w-24 placeholder-white/50",placeholder:"Your role..."}):a.role||"Set role..."})]})]})]}),(0,d.jsxs)("div",{className:"px-4 pt-3 pb-2",children:[(0,d.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Role"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:n.map(b=>(0,d.jsx)("button",{onClick:()=>h(b),className:"px-2 py-1 text-[10px] rounded-md border transition-colors",style:{borderColor:a.role===b?"var(--accent)":"var(--border)",color:a.role===b?"var(--accent)":"var(--text-secondary)",backgroundColor:a.role===b?"var(--accent)10":"transparent",fontWeight:a.role===b?600:400},children:b},b))})]}),(0,d.jsxs)("div",{id:"avatar-gallery",className:"px-4 pt-2 pb-3",children:[(0,d.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Choose Avatar"}),(0,d.jsx)("div",{className:"grid grid-cols-6 gap-2",children:l.map((b,c)=>(0,d.jsx)("button",{onClick:()=>g(b),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:a.avatarUrl===b?"var(--accent)":"transparent",boxShadow:a.avatarUrl===b?"0 0 0 2px var(--accent)":"none"},children:(0,d.jsx)("img",{src:b,alt:`Avatar ${c+11}`,className:"w-full h-full object-cover",loading:"lazy"})},b))}),(0,d.jsx)("div",{className:"grid grid-cols-6 gap-2 mt-2",children:m.map((b,c)=>(0,d.jsx)("button",{onClick:()=>g(b),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:a.avatarUrl===b?"var(--accent)":"transparent",boxShadow:a.avatarUrl===b?"0 0 0 2px var(--accent)":"none"},children:(0,d.jsx)("img",{src:b,alt:`Avatar ${c+23}`,className:"w-full h-full object-cover",loading:"lazy"})},b))})]}),(0,d.jsxs)("div",{className:"px-4 pb-4",children:[(0,d.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Banner Color"}),(0,d.jsx)("div",{className:"grid grid-cols-8 gap-1.5",children:k.T7.map(b=>(0,d.jsx)("button",{onClick:()=>f(b),className:"w-6 h-6 rounded-full transition-transform hover:scale-110 relative overflow-hidden",style:{background:`linear-gradient(135deg, ${function(a,b){let c=parseInt(a.replace("#",""),16),d=Math.max(0,(c>>16)-Math.round((c>>16)*.3)),e=Math.max(0,(c>>8&255)-Math.round((c>>8&255)*.3)),f=Math.max(0,(255&c)-Math.round((255&c)*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}(b,.3)} 0%, ${b} 50%, ${o(b,.3)} 100%)`,outline:a.bannerColor!==b||a.avatarUrl?"none":"2px solid var(--accent)",outlineOffset:2},children:(0,d.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%)",animation:"shimmer 2s ease-in-out infinite"}})},b))})]}),(0,d.jsxs)("div",{className:"px-4 py-2.5 border-t flex items-center justify-between",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,d.jsx)("span",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:"Profile data stored locally"}),(0,d.jsx)("button",{onClick:()=>j(!1),className:"text-[10px] font-medium px-2 py-0.5 rounded",style:{color:"var(--accent)"},children:"Done"})]})]})]})}function q({open:a,onClose:b,profile:c,initials:f,stats:g}){let[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1);if(!a)return null;let l=`My Test Lah!:
|
|
2
|
+
${g.projects} Projects | ${g.testCases} Cases | ${g.passRate}% Pass Rate`,m=async()=>{if(navigator.share)try{await navigator.share({title:"Test Lah! Stats",text:l})}catch{}else navigator.clipboard.writeText(l)};return(0,d.jsxs)("div",{className:"fixed inset-0 z-[300] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:b,children:[(0,d.jsxs)("div",{className:"w-72 mx-4",onClick:a=>a.stopPropagation(),style:{perspective:"1000px"},children:[(0,d.jsxs)("div",{className:"relative w-full",style:{transformStyle:"preserve-3d",transform:h?"rotateY(180deg)":"rotateY(0)",transition:"transform 0.5s ease",height:"380px"},children:[(0,d.jsxs)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)"},children:[(0,d.jsx)("div",{className:"absolute inset-0",style:{background:`linear-gradient(160deg, ${function(a,b){let c=parseInt(a.replace("#",""),16),d=Math.max(0,(c>>16)-Math.round((c>>16)*.25)),e=Math.max(0,(c>>8&255)-Math.round((c>>8&255)*b)),f=Math.max(0,(255&c)-Math.round((255&c)*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}(c.bannerColor,.25)} 0%, ${c.bannerColor} 50%, ${function(a,b){let c=parseInt(a.replace("#",""),16),d=Math.min(255,(c>>16)+Math.round((255-(c>>16))*.2)),e=Math.min(255,(c>>8&255)+Math.round((255-(c>>8&255))*b)),f=Math.min(255,(255&c)+Math.round((255-(255&c))*b));return`#${(d<<16|e<<8|f).toString(16).padStart(6,"0")}`}(c.bannerColor,.2)} 100%)`}}),(0,d.jsxs)("div",{className:"relative h-full flex flex-col items-center justify-center px-4",children:[(0,d.jsx)("div",{className:"w-20 h-20 rounded-xl overflow-hidden border-2 mb-3",style:{borderColor:"rgba(255,255,255,0.3)"},children:c.avatarUrl?(0,d.jsx)("img",{src:c.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,d.jsx)("div",{className:"w-full h-full flex items-center justify-center text-2xl font-bold",style:{backgroundColor:"rgba(0,0,0,0.2)",color:"#fff"},children:f})}),(0,d.jsx)("h3",{className:"text-base font-semibold text-white drop-shadow-sm",children:c.name||"Anonymous Tester"}),(0,d.jsx)("p",{className:"text-xs mt-0.5 text-white/70",children:c.role||"No role set"}),(0,d.jsxs)("div",{className:"flex items-center gap-4 mt-4",children:[(0,d.jsx)(r,{value:g.projects,label:"Projects"}),(0,d.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,d.jsx)(r,{value:g.testCases,label:"Cases"}),(0,d.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,d.jsx)(r,{value:`${g.passRate}%`,label:"Pass"})]}),(0,d.jsx)("button",{onClick:()=>i(!0),className:"mt-5 px-4 py-1.5 text-[11px] font-medium rounded-full transition-colors",style:{backgroundColor:"rgba(255,255,255,0.2)",color:"#fff"},children:"View stats"}),(0,d.jsx)("button",{onClick:()=>k(!0),className:"mt-2 px-4 py-1.5 text-[11px] font-medium rounded-full transition-colors",style:{backgroundColor:"rgba(255,255,255,0.1)",color:"rgba(255,255,255,0.7)"},children:"Get reward for my hardwork"})]})]}),(0,d.jsx)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",transform:"rotateY(180deg)",borderColor:"var(--border)",backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-lg)"},children:(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsxs)("div",{className:"px-4 py-3 border-b flex items-center justify-between",style:{borderColor:"var(--border)"},children:[(0,d.jsx)("span",{className:"text-xs font-semibold",style:{color:"var(--text-primary)"},children:"Statistics"}),(0,d.jsx)("button",{onClick:()=>i(!1),className:"text-[10px] px-2 py-0.5 rounded border transition-colors hover:bg-[var(--bg-secondary)]",style:{color:"var(--text-tertiary)",borderColor:"var(--border)"},children:"Back"})]}),(0,d.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,d.jsx)("span",{className:"text-[10px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:"Pass Rate"}),(0,d.jsxs)("span",{className:"text-sm font-semibold",style:{color:g.passRate>=80?"var(--status-pass-text)":g.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"},children:[g.passRate,"%"]})]}),(0,d.jsx)("div",{className:"h-1.5 rounded-full overflow-hidden",style:{backgroundColor:"var(--bg-secondary)"},children:(0,d.jsx)("div",{className:"h-full rounded-full",style:{width:`${g.passRate}%`,backgroundColor:g.passRate>=80?"var(--status-pass-text)":g.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"}})})]}),(0,d.jsxs)("div",{className:"grid grid-cols-4 gap-1.5",children:[(0,d.jsx)(s,{label:"Pass",value:g.pass,color:"var(--status-pass-text)"}),(0,d.jsx)(s,{label:"Fail",value:g.fail,color:"var(--status-fail-text)"}),(0,d.jsx)(s,{label:"Skip",value:g.skip,color:"var(--status-skip-text)"}),(0,d.jsx)(s,{label:"Blocked",value:g.blocked,color:"var(--status-blocked-text)"}),(0,d.jsx)(s,{label:"New",value:g.untested})]}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(t,{label:"Test Cases",value:g.testCases}),(0,d.jsx)(t,{label:"Flow Nodes",value:g.nodes}),(0,d.jsx)(t,{label:"Edges",value:g.edges}),(0,d.jsx)(t,{label:"Projects",value:g.projects})]}),(0,d.jsxs)("button",{onClick:m,className:"w-full px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)] flex items-center justify-center gap-1.5",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:[(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8"}),(0,d.jsx)("polyline",{points:"16 6 12 2 8 6"}),(0,d.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"15"})]}),"Share"]})]})]})})]}),(0,d.jsx)("button",{onClick:b,className:"w-full mt-2 px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)",backgroundColor:"var(--bg-card)"},children:"Close"})]}),j&&(0,d.jsx)("div",{className:"fixed inset-0 z-[500] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.4)",animation:"fadeIn 150ms ease-out"},onClick:()=>k(!1),children:(0,d.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-xl border overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)",animation:"fadeInUp 200ms ease-out"},onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"px-6 pt-6 pb-4 text-center",children:[(0,d.jsx)("div",{className:"w-14 h-14 mx-auto mb-4 rounded-full flex items-center justify-center",style:{backgroundColor:"var(--status-skip-bg)"},children:(0,d.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--status-skip-text)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("path",{d:"M12 2L15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})})}),(0,d.jsx)("h3",{className:"text-base font-semibold mb-2",style:{color:"var(--text-primary)"},children:"Premium Feature"}),(0,d.jsxs)("p",{className:"text-xs leading-relaxed mb-4",style:{color:"var(--text-secondary)"},children:["Getting rewards for your hardwork is only available for ",(0,d.jsx)("strong",{children:"Premium Users"}),". To upgrade, please transfer to the following VA:"]}),(0,d.jsxs)("div",{className:"px-4 py-3 rounded-lg border mb-4",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,d.jsx)("p",{className:"text-[10px] uppercase tracking-wider mb-1",style:{color:"var(--text-tertiary)"},children:"Virtual Account"}),(0,d.jsx)("p",{className:"text-sm font-mono font-semibold",style:{color:"var(--text-primary)"},children:"0895 332 333 587"}),(0,d.jsx)("p",{className:"text-[10px] mt-1",style:{color:"var(--text-tertiary)"},children:"a/n Qois Ramadhani"})]}),(0,d.jsx)("p",{className:"text-[10px] italic",style:{color:"var(--text-tertiary)"},children:"*This is a joke. Please don't actually transfer. Or do. I won't stop you."})]}),(0,d.jsx)("div",{className:"px-6 pb-5",children:(0,d.jsx)("button",{onClick:()=>k(!1),className:"w-full px-3 py-2.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Fine, I'll keep working for free"})})]})})]})}function r({value:a,label:b}){return(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"text-sm font-semibold text-white",children:a}),(0,d.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/60",children:b})]})}function s({label:a,value:b,color:c}){return(0,d.jsxs)("div",{className:"py-2 rounded-lg text-center",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,d.jsx)("div",{className:"text-sm font-medium",style:{color:c??"var(--text-secondary)"},children:b}),(0,d.jsx)("div",{className:"text-[8px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:a})]})}function t({label:a,value:b}){return(0,d.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 rounded-lg",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,d.jsx)("span",{className:"text-[11px]",style:{color:"var(--text-tertiary)"},children:a}),(0,d.jsx)("span",{className:"text-xs font-medium",style:{color:"var(--text-primary)"},children:b})]})}var u=c(64271);function v(){let{projects:a,activeProject:b,activeProjectId:c,profile:h,profileInitials:k,setProfileName:l,setProfileBannerColor:m,setProfileAvatarUrl:n,setProfileRole:o}=(0,g.M)(),{logout:r}=(0,j.A)(),s=(0,f.useRouter)(),t=(0,f.usePathname)(),{startProgress:v,completeProgress:x}=(0,u.p1)(),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),C=Object.values(a),D=(0,e.useMemo)(()=>{let a=C.flatMap(a=>Object.values(a.testCases).flat()),b=a.length,c=a.filter(a=>"pass"===a.status).length,d=a.filter(a=>"fail"===a.status).length,e=a.filter(a=>"skip"===a.status).length,f=a.filter(a=>"untested"===a.status).length,g=a.filter(a=>"blocked"===a.status).length,h=C.reduce((a,b)=>a+b.flows.length,0),i=C.reduce((a,b)=>a+(b.edges??[]).length,0),j=b-e,k=j>0?Math.round(c/j*100):0;return{projects:C.length,testCases:b,passRate:k,nodes:h,edges:i,pass:c,fail:d,skip:e,untested:f,blocked:g}},[C]),E=t.startsWith("/integrations")?"integrations":"projects";return(0,d.jsxs)("header",{className:"flex flex-col border-b flex-shrink-0 relative",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)"},children:[(0,d.jsx)("div",{className:"absolute inset-0 overflow-hidden flex items-center justify-center pointer-events-none group/duck",children:(0,d.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"",className:"h-[85%] object-contain select-none transition-all duration-300 group-hover/duck:scale-110 group-hover/duck:opacity-[0.15] cursor-pointer",style:{opacity:.09,pointerEvents:"auto"},onClick:()=>s.push("/projects"),title:"Quack! \uD83E\uDD86"})}),(0,d.jsxs)("div",{className:"relative z-10 flex items-center justify-between px-6 py-2.5",children:[(0,d.jsx)("div",{className:"flex items-center gap-3",children:(0,d.jsxs)(i(),{href:"/projects",className:"flex items-center gap-2",children:[(0,d.jsx)("div",{className:"w-8 h-8 rounded-md overflow-hidden bg-white flex-shrink-0",style:{boxShadow:"0 1px 4px rgba(0,0,0,0.08)"},children:(0,d.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"Logo",width:32,height:32,className:"w-full h-full object-contain"})}),(0,d.jsx)("span",{className:"shimmer-text text-sm font-bold tracking-wide select-none",style:{background:"linear-gradient(90deg, var(--text-primary) 0%, var(--text-primary) 40%, #FFD54F 50%, var(--text-primary) 60%, var(--text-primary) 100%)",backgroundSize:"200% 100%",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",animation:"shimmerText 3s ease-in-out infinite"},children:"Test Lah!"})]})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>z(!0),className:"hidden md:block px-3 py-1.5 text-[11px] font-medium rounded-md border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"My Card"}),(0,d.jsx)("div",{className:"hidden md:block w-px h-5 mx-0.5",style:{backgroundColor:"var(--border)"}}),(0,d.jsx)("div",{className:"relative z-[60]",children:(0,d.jsx)(p,{profile:h,initials:k,onSetName:l,onSetBannerColor:m,onSetAvatarUrl:n,onSetRole:o})}),(0,d.jsx)("button",{onClick:()=>{B(!0)},className:"w-8 h-8 flex items-center justify-center text-xs rounded-md border transition-colors hover:bg-[var(--bg-secondary)] hover:border-[var(--status-fail-text)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Logout",children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:(0,d.jsx)("path",{d:"M5 2H3.5A1.5 1.5 0 002 3.5v7A1.5 1.5 0 003.5 12H5M9 10l3-3-3-3M6 7h6",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),(0,d.jsxs)("div",{className:"relative z-10 flex items-center gap-1 px-6",children:[(0,d.jsx)(w,{label:"All Projects",href:"/projects",icon:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,d.jsx)("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("rect",{x:"8",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("rect",{x:"1",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("rect",{x:"8",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"})]}),active:"projects"===E}),(0,d.jsx)(w,{label:"Integrations",href:"/integrations",icon:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,d.jsx)("circle",{cx:"5",cy:"5",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("circle",{cx:"9",cy:"9",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,d.jsx)("path",{d:"M7.5 5.5L6.5 8.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}),active:"integrations"===E})]}),(0,d.jsx)(q,{open:y,onClose:()=>z(!1),profile:h,initials:k,stats:D}),A&&(0,d.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.4)",animation:"fadeIn 150ms ease-out"},onClick:()=>B(!1),children:(0,d.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-xl border overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)",animation:"fadeInUp 200ms ease-out"},onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("div",{className:"px-6 pt-5 pb-2 text-center border-b overflow-hidden",style:{borderColor:"var(--border)",background:"linear-gradient(135deg, #FCEAEA 0%, #F5D0D0 50%, #FCEAEA 100%)"},children:(0,d.jsx)("h3",{className:"text-sm font-semibold",style:{color:"var(--status-fail-text)"},children:"Where are you going? ծ_\xd4"})}),(0,d.jsxs)("div",{className:"px-6 pt-4 pb-4 text-center",children:[(0,d.jsx)("div",{className:"w-32 h-32 mx-auto mb-4 rounded-lg overflow-hidden",children:(0,d.jsx)("img",{src:"https://i.ytimg.com/vi/EcMlX_36gjs/mqdefault.jpg",alt:"Suspicious dog",className:"w-full h-full object-cover"})}),(0,d.jsx)("h3",{className:"text-base font-semibold mb-2",style:{color:"var(--text-primary)"},children:'Are you taking a "sick leave" again?'}),(0,d.jsx)("p",{className:"text-xs leading-relaxed",style:{color:"var(--text-tertiary)"},children:"We both know you're not coming back."})]}),(0,d.jsxs)("div",{className:"px-6 pb-3 flex gap-2",children:[(0,d.jsx)("button",{onClick:()=>B(!1),className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg transition-opacity hover:opacity-80",style:{backgroundColor:"var(--accent)",color:"var(--bg-primary)"},children:"Cancel, I love my job"}),(0,d.jsx)("button",{onClick:()=>{B(!1),v("Logging out..."),r(),setTimeout(()=>{x("Logged out!"),s.push("/login")},500)},className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--status-fail-text)"},children:"Quit my job"})]}),(0,d.jsx)("div",{className:"px-6 pb-5 text-center",children:(0,d.jsxs)("p",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:["Contact"," ",(0,d.jsxs)("span",{className:"relative inline-block group/nathan",children:[(0,d.jsx)("a",{href:"https://t.me/nathanaeliman",target:"_blank",rel:"noopener noreferrer",className:"underline cursor-pointer font-medium",style:{color:"var(--accent)"},children:"the best QA"}),(0,d.jsxs)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-1.5 rounded-lg overflow-hidden opacity-0 group-hover/nathan:opacity-100 transition-opacity pointer-events-none",style:{boxShadow:"0 4px 16px rgba(0,0,0,0.2)",width:120,height:120},children:[(0,d.jsx)("img",{src:"https://media.licdn.com/dms/image/v2/D5603AQHBu4wrzFWoTw/profile-displayphoto-crop_800_800/B56Zq.Sy6LKsAI-/0/1764129191465?e=1782345600&v=beta&t=79y6xLivwcpvwy53sy1TuVopK4FMp6O8uAu7QxlIxDo",alt:"Nathan",className:"w-full h-full object-cover"}),(0,d.jsx)("span",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0",style:{borderLeft:"6px solid transparent",borderRight:"6px solid transparent",borderTop:"6px solid var(--bg-card)"}})]})]})," ","to do my job instead"]})})]})})]})}function w({label:a,icon:b,active:c,href:e,badge:f}){return(0,d.jsxs)(i(),{href:e,className:"flex items-center gap-2 px-3 py-2 text-xs font-medium rounded-t-md transition-colors relative",style:{color:c?"var(--accent)":"var(--text-tertiary)",backgroundColor:c?"var(--bg-secondary)":"transparent"},children:[b,a,f&&(0,d.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold rounded-full leading-none",style:{backgroundColor:c?"var(--accent)":"var(--bg-secondary)",color:c?"#fff":"var(--text-tertiary)"},children:f}),c&&(0,d.jsx)("div",{className:"absolute bottom-0 left-2 right-2 h-0.5 rounded-t-full",style:{backgroundColor:"var(--accent)"}})]})}var x=c(42423);function y({children:a}){(0,f.useRouter)();let{isLoggedIn:b,loaded:c}=(0,j.A)();return c?b?(0,d.jsx)(d.Fragment,{children:a}):null:(0,d.jsx)("div",{className:"h-screen flex items-center justify-center",style:{backgroundColor:"var(--bg-primary)"},children:(0,d.jsx)("div",{className:"text-sm",style:{color:"var(--text-tertiary)"},children:"Loading..."})})}function z(){let{undo:a,redo:b,canUndo:c,canRedo:d}=(0,g.M)();return null}function A({children:a}){let{dialog:b}=(0,g.M)();return(0,d.jsxs)(d.Fragment,{children:[a,(0,d.jsx)(x.q,{dialog:b})]})}function B({children:a}){return(0,d.jsx)(y,{children:(0,d.jsx)(g.q,{children:(0,d.jsx)(A,{children:(0,d.jsxs)("div",{className:"h-screen flex flex-col",style:{backgroundColor:"var(--bg-primary)"},children:[(0,d.jsx)(z,{}),(0,d.jsx)(v,{}),(0,d.jsx)("div",{className:"flex-1 min-h-0",children:a})]})})})})}},26239:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call Providers() from the server but Providers is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/sltr91025/code-repository/open-source/test-lah/src/components/shared/Providers.tsx","Providers")},34776:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(38301);function e(a){try{sessionStorage.setItem("qa-auth",JSON.stringify(a))}catch{}}function f(){let[a,b]=(0,d.useState)({name:"",isLoggedIn:!1}),[c,f]=(0,d.useState)(!1),g=(0,d.useCallback)(a=>{let c={name:a,isLoggedIn:!0};e(c),b(c)},[]),h=(0,d.useCallback)(()=>{let a={name:"",isLoggedIn:!1};e(a),b(a)},[]);return{...a,loaded:c,login:g,logout:h}}},35473:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>f});var d=c(21124),e=c(64271);function f({children:a}){return(0,d.jsx)(e.Vx,{children:a})}},37687:(a,b,c)=>{Promise.resolve().then(c.bind(c,26239))},42423:(a,b,c)=>{"use strict";c.d(b,{q:()=>g,s:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)(null),c=(0,e.useCallback)((a,c)=>new Promise(d=>{b({type:"alert",title:a,message:c,resolve:()=>{b(null),d()}})}),[]);return{dialog:a,alert:c,confirm:(0,e.useCallback)((a,c)=>new Promise(d=>{b({type:"confirm",title:a,message:c,resolve:a=>{b(null),d(!0===a)}})}),[]),prompt:(0,e.useCallback)((a,c,d="")=>new Promise(e=>{b({type:"prompt",title:a,message:c,defaultValue:d,resolve:a=>{b(null),e("string"==typeof a?a:null)}})}),[])}}function g({dialog:a}){let[b,c]=(0,e.useState)(""),f=(0,e.useRef)(null);return a?(0,d.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:()=>a.resolve("prompt"===a.type&&null),children:(0,d.jsx)("div",{className:"relative w-full max-w-sm mx-4",onClick:a=>a.stopPropagation(),children:(0,d.jsx)("div",{className:"p-[2px] rounded-xl overflow-hidden",style:{background:"linear-gradient(135deg, #9E7AFF 0%, #FE8BBB 50%, #9E7AFF 100%)",backgroundSize:"200% 200%",animation:"borderShine 3s linear infinite"},children:(0,d.jsxs)("div",{className:"rounded-[10px] p-5",style:{backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-xl)"},children:[(0,d.jsx)("h3",{className:"text-sm font-semibold mb-2",style:{color:"var(--text-primary)"},children:a.title}),(0,d.jsx)("p",{className:"text-xs mb-4",style:{color:"var(--text-secondary)"},children:a.message}),"prompt"===a.type&&(0,d.jsx)("input",{ref:f,value:b,onChange:a=>c(a.target.value),onKeyDown:c=>{"Enter"===c.key&&a.resolve(b.trim()||null)},className:"w-full px-3 py-2 text-sm rounded-lg border outline-none transition-colors focus:border-[var(--accent)] mb-4",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)",color:"var(--text-primary)"},placeholder:"Enter value..."}),(0,d.jsxs)("div",{className:"flex gap-2 justify-end",children:["alert"!==a.type&&(0,d.jsx)("button",{onClick:()=>a.resolve("prompt"===a.type&&null),className:"px-3 py-1.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Cancel"}),(0,d.jsx)("button",{onClick:()=>{"confirm"===a.type?a.resolve(!0):"prompt"===a.type?a.resolve(b.trim()||null):a.resolve(null)},className:"px-3 py-1.5 text-xs font-medium rounded-lg transition-opacity hover:opacity-80",style:{backgroundColor:"var(--accent)",color:"var(--bg-primary)"},children:"confirm"===a.type?"Confirm":"OK"})]})]})})})}):null}},44309:(a,b,c)=>{Promise.resolve().then(c.bind(c,22048))},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,metadata:()=>h});var d=c(75338),e=c(76555),f=c.n(e);c(61135);var g=c(26239);let h={title:"Test Lah!",description:"Test Lah! — Your Boss's Favorite QA Tool",icons:{icon:"/favicon.ico"}};function i({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{className:f().variable,style:{fontFamily:"Inter, system-ui, sans-serif"},children:(0,d.jsx)(g.Providers,{children:a})})})}},61135:()=>{},64271:(a,b,c)=>{"use strict";c.d(b,{Vx:()=>h,p1:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)(null);function g(){let a=(0,e.useContext)(f);if(!a)throw Error("useProgress must be used within ProgressProvider");return a}function h({children:a}){let[b,c]=(0,e.useState)(0),[g,h]=(0,e.useState)(""),[i,j]=(0,e.useState)(!1),k=(0,e.useRef)(null),l=(0,e.useRef)(null),m=(0,e.useCallback)(()=>{k.current&&(clearInterval(k.current),k.current=null),l.current&&(clearTimeout(l.current),l.current=null)},[]),n=(0,e.useCallback)(()=>{j(!1),c(0),h("")},[]),o=(0,e.useCallback)(a=>{m(),c(0),h(a||""),j(!0),k.current=setInterval(()=>{c(a=>a>=90?(k.current&&clearInterval(k.current),k.current=null,90):a+15*Math.random())},300),l.current=setTimeout(()=>{n()},8e3)},[m,n]),p=(0,e.useCallback)((a,b)=>{c(Math.min(95,a)),b&&h(b)},[]),q=(0,e.useCallback)(a=>{m(),c(100),a&&h(a),setTimeout(()=>{n()},500)},[m,n]),r=(0,e.useCallback)(()=>{m(),n()},[m,n]);return(0,d.jsxs)(f.Provider,{value:{startProgress:o,updateProgress:p,completeProgress:q,cancelProgress:r,isProgressing:i},children:[a,(0,d.jsxs)("div",{className:"fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out",style:{opacity:+!!i,transform:i?"translateY(0)":"translateY(100%)",pointerEvents:i?"auto":"none"},children:[(0,d.jsx)("div",{className:"h-1 w-full",style:{backgroundColor:"var(--bg-secondary)"},children:(0,d.jsx)("div",{className:"h-full transition-all duration-200 ease-out",style:{width:`${b}%`,backgroundColor:b>=100?"var(--status-pass-text)":"var(--accent)",boxShadow:b>=100?"0 0 10px var(--status-pass-text)":"none"}})}),g&&(0,d.jsxs)("div",{className:"flex items-center justify-center py-2 px-4 text-xs font-medium cursor-pointer",onClick:r,style:{backgroundColor:"var(--bg-card)",color:b>=100?"var(--status-pass-text)":"var(--text-secondary)",borderTop:"1px solid var(--border)"},children:[b>=100&&(0,d.jsx)("svg",{className:"mr-2",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:(0,d.jsx)("path",{d:"M2 6l3 3 5-5",stroke:"var(--status-pass-text)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),g]})]})]})}},66688:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,55145,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},70440:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/x-icon",sizes:"350x350",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+""}]},90831:(a,b,c)=>{Promise.resolve().then(c.bind(c,35473))},97788:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx","default")}};
|