prisma-flow 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +1 -0
  2. package/dist/index.js +2133 -708
  3. package/package.json +10 -23
  4. package/public/404/index.html +1 -1
  5. package/public/404.html +1 -1
  6. package/public/__next.__PAGE__.txt +4 -4
  7. package/public/__next._full.txt +12 -12
  8. package/public/__next._head.txt +4 -4
  9. package/public/__next._index.txt +5 -5
  10. package/public/__next._tree.txt +2 -2
  11. package/public/_next/static/chunks/056iufrwvl369.js +1 -0
  12. package/public/_next/static/chunks/{0ov8yxc8yngji.js → 0acm34w22hx9z.js} +1 -1
  13. package/public/_next/static/chunks/{0drl6u3r7627z.js → 0c984jinxm8f6.js} +1 -1
  14. package/public/_next/static/chunks/{031d4hdncmqdj.js → 0e0fl5qcvu-yx.js} +1 -1
  15. package/public/_next/static/chunks/0z1o-405295er.js +1 -0
  16. package/public/_next/static/chunks/{0p4y8c2fq43wu.js → 1gswx446-o00_.js} +1 -1
  17. package/public/_next/static/chunks/1te0x9fwhrf60.js +1 -0
  18. package/public/_next/static/chunks/25hh9nwx-v3c5.css +1 -0
  19. package/public/_next/static/chunks/25o46h8mdjlrg.js +1 -0
  20. package/public/_next/static/chunks/{0m7w4t_yx6o6a.js → 2ltjmp_97014r.js} +1 -1
  21. package/public/_next/static/chunks/{3cdvjzy78ylzj.js → 2nzee6y5-2q17.js} +1 -1
  22. package/public/_next/static/chunks/{3xrarg7xfb7_g.js → 2yb298owf9iw_.js} +1 -1
  23. package/public/_next/static/chunks/{05-c3ty_6dwfk.js → 3au-rj2yh4vzs.js} +1 -1
  24. package/public/_next/static/chunks/{2o1jw19xgqkzz.js → 3diwb2iuom_tm.js} +3 -3
  25. package/public/_next/static/chunks/3vw-_f96ru14r.js +1 -0
  26. package/public/_next/static/chunks/3zh2lc2jn3p3h.js +1 -0
  27. package/public/_next/static/chunks/{turbopack-0r_p3gsi1hu9t.js → turbopack-15dmj_1idpm1l.js} +1 -1
  28. package/public/_not-found/__next._full.txt +10 -10
  29. package/public/_not-found/__next._head.txt +4 -4
  30. package/public/_not-found/__next._index.txt +5 -5
  31. package/public/_not-found/{__next._not-found/__PAGE__.txt → __next._not-found.__PAGE__.txt} +2 -2
  32. package/public/_not-found/__next._not-found.txt +3 -3
  33. package/public/_not-found/__next._tree.txt +2 -2
  34. package/public/_not-found/index.html +1 -1
  35. package/public/_not-found/index.txt +10 -10
  36. package/public/drift/__next._full.txt +12 -12
  37. package/public/drift/__next._head.txt +4 -4
  38. package/public/drift/__next._index.txt +5 -5
  39. package/public/drift/__next._tree.txt +2 -2
  40. package/public/drift/__next.drift.__PAGE__.txt +9 -0
  41. package/public/drift/__next.drift.txt +3 -3
  42. package/public/drift/index.html +1 -1
  43. package/public/drift/index.txt +12 -12
  44. package/public/index.html +1 -1
  45. package/public/index.txt +12 -12
  46. package/public/migrations/__next._full.txt +12 -12
  47. package/public/migrations/__next._head.txt +4 -4
  48. package/public/migrations/__next._index.txt +5 -5
  49. package/public/migrations/__next._tree.txt +2 -2
  50. package/public/migrations/__next.migrations.__PAGE__.txt +9 -0
  51. package/public/migrations/__next.migrations.txt +3 -3
  52. package/public/migrations/index.html +1 -1
  53. package/public/migrations/index.txt +12 -12
  54. package/public/risks/__next._full.txt +12 -12
  55. package/public/risks/__next._head.txt +4 -4
  56. package/public/risks/__next._index.txt +5 -5
  57. package/public/risks/__next._tree.txt +2 -2
  58. package/public/risks/__next.risks.__PAGE__.txt +9 -0
  59. package/public/risks/__next.risks.txt +3 -3
  60. package/public/risks/index.html +1 -1
  61. package/public/risks/index.txt +12 -12
  62. package/public/schema/__next._full.txt +12 -12
  63. package/public/schema/__next._head.txt +4 -4
  64. package/public/schema/__next._index.txt +5 -5
  65. package/public/schema/__next._tree.txt +2 -2
  66. package/public/schema/__next.schema.__PAGE__.txt +9 -0
  67. package/public/schema/__next.schema.txt +3 -3
  68. package/public/schema/index.html +1 -1
  69. package/public/schema/index.txt +12 -12
  70. package/public/simulate/__next._full.txt +12 -12
  71. package/public/simulate/__next._head.txt +4 -4
  72. package/public/simulate/__next._index.txt +5 -5
  73. package/public/simulate/__next._tree.txt +2 -2
  74. package/public/simulate/__next.simulate.__PAGE__.txt +9 -0
  75. package/public/simulate/__next.simulate.txt +3 -3
  76. package/public/simulate/index.html +1 -1
  77. package/public/simulate/index.txt +12 -12
  78. package/public/_next/static/chunks/03q3r_bvmqrr8.js +0 -2
  79. package/public/_next/static/chunks/0s76k7hq9-wfk.css +0 -1
  80. package/public/_next/static/chunks/0zv5uyi-a4e2y.js +0 -1
  81. package/public/_next/static/chunks/1kk4shlfeass1.js +0 -1
  82. package/public/_next/static/chunks/2nykiepra7i1k.js +0 -1
  83. package/public/_next/static/chunks/2ohti557qol0g.js +0 -1
  84. package/public/_next/static/chunks/3w1qpcrpp5s4-.js +0 -2
  85. package/public/drift/__next.drift/__PAGE__.txt +0 -9
  86. package/public/migrations/__next.migrations/__PAGE__.txt +0 -9
  87. package/public/risks/__next.risks/__PAGE__.txt +0 -9
  88. package/public/schema/__next.schema/__PAGE__.txt +0 -9
  89. package/public/simulate/__next.simulate/__PAGE__.txt +0 -9
  90. /package/public/_next/static/{ySSMgkts9h6_mRnScxk9f → 0mXb1HP7_wVjSa11pmE1C}/_buildManifest.js +0 -0
  91. /package/public/_next/static/{ySSMgkts9h6_mRnScxk9f → 0mXb1HP7_wVjSa11pmE1C}/_clientMiddlewareManifest.js +0 -0
  92. /package/public/_next/static/{ySSMgkts9h6_mRnScxk9f → 0mXb1HP7_wVjSa11pmE1C}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "prisma-flow",
3
- "version": "0.1.0",
4
- "description": "Visual Prisma migration management safe, observable, production-ready",
3
+ "version": "0.2.0",
4
+ "description": "Local-first Prisma migration visibility, drift detection, risk analysis, and deployment readiness",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/prisma-flow/prisma-flow#readme",
@@ -13,21 +13,8 @@
13
13
  "bugs": {
14
14
  "url": "https://github.com/prisma-flow/prisma-flow/issues"
15
15
  },
16
- "keywords": [
17
- "prisma",
18
- "migrations",
19
- "database",
20
- "schema-drift",
21
- "cli",
22
- "dashboard",
23
- "devtools"
24
- ],
25
- "files": [
26
- "dist",
27
- "public",
28
- "README.md",
29
- "LICENSE"
30
- ],
16
+ "keywords": ["prisma", "migrations", "database", "schema-drift", "cli", "dashboard", "devtools"],
17
+ "files": ["dist", "public", "README.md", "LICENSE"],
31
18
  "publishConfig": {
32
19
  "access": "public"
33
20
  },
@@ -39,8 +26,8 @@
39
26
  "node": ">=20"
40
27
  },
41
28
  "scripts": {
42
- "build": "node scripts/copy-dashboard.mjs && tsup src/index.ts --format esm --dts",
43
- "dev": "tsup src/index.ts --format esm --watch",
29
+ "build": "node scripts/copy-dashboard.mjs && tsup",
30
+ "dev": "tsup --watch",
44
31
  "typecheck": "tsc --noEmit",
45
32
  "lint": "biome check src",
46
33
  "test": "vitest run",
@@ -48,19 +35,19 @@
48
35
  "clean": "rm -rf dist public"
49
36
  },
50
37
  "dependencies": {
51
- "@hono/node-server": "^1.13.0",
52
- "@prisma-flow/shared": "0.1.0",
38
+ "@hono/node-server": "^2.0.12",
53
39
  "@prisma/internals": "^5.22.0",
54
40
  "chalk": "^5.3.0",
55
41
  "commander": "^12.0.0",
56
42
  "dotenv": "^16.4.0",
57
43
  "hono": "^4.6.0",
58
- "open": "^10.0.0",
59
- "pino": "^9.0.0",
44
+ "open": "^11.0.1",
45
+ "pino": "^10.3.1",
60
46
  "pino-pretty": "^11.0.0",
61
47
  "zod": "^3.22.0"
62
48
  },
63
49
  "devDependencies": {
50
+ "@prisma-flow/shared": "*",
64
51
  "@types/node": "^22.0.0",
65
52
  "tsup": "^8.0.0",
66
53
  "typescript": "^5.6.0",
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0s76k7hq9-wfk.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_8y92xg60ach.js"/><script src="/_next/static/chunks/2o1jw19xgqkzz.js" async=""></script><script src="/_next/static/chunks/2nykiepra7i1k.js" async=""></script><script src="/_next/static/chunks/turbopack-0r_p3gsi1hu9t.js" async=""></script><script src="/_next/static/chunks/0ov8yxc8yngji.js" async=""></script><script src="/_next/static/chunks/031d4hdncmqdj.js" async=""></script><script src="/_next/static/chunks/2ohti557qol0g.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>PrismaFlow - Migration Dashboard</title><meta name="description" content="Visual Prisma migration management. Monitor, detect drift, and ship database changes safely."/><meta name="keywords" content="prisma,migrations,database,schema drift,devtools"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="antialiased bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden"><aside class="flex h-screen w-56 flex-col border-r bg-sidebar shrink-0"><div class="flex h-14 items-center gap-2 border-b px-4"><span class="text-lg font-bold tracking-tight text-foreground">Prisma<span class="text-primary">Flow</span></span></div><nav class="flex-1 overflow-y-auto py-4 px-2 space-y-0.5"><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/migrations/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database h-4 w-4 shrink-0" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg>Migrations</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/risks/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-alert h-4 w-4 shrink-0" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="M12 8v4"></path><path d="M12 16h.01"></path></svg>Risks</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/simulate/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical h-4 w-4 shrink-0" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg>Simulate</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/schema/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network h-4 w-4 shrink-0" aria-hidden="true"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg>Schema</a></nav><div class="border-t px-4 py-3"><p class="text-xs text-muted-foreground">PrismaFlow v<!-- -->0.1.0</p></div></aside><main class="flex-1 overflow-y-auto"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0_8y92xg60ach.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24375,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"Sidebar\"]\n3:I[39756,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[97367,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"ViewportBoundary\"]\nb:I[97367,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"MetadataBoundary\"]\nd:I[68027,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0s76k7hq9-wfk.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0s76k7hq9-wfk.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0ov8yxc8yngji.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/031d4hdncmqdj.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/2ohti557qol0g.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased bg-background text-foreground\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-y-auto\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0s76k7hq9-wfk.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ySSMgkts9h6_mRnScxk9f\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[27201,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"PrismaFlow - Migration Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visual Prisma migration management. Monitor, detect drift, and ship database changes safely.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"prisma,migrations,database,schema drift,devtools\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/25hh9nwx-v3c5.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_8y92xg60ach.js"/><script src="/_next/static/chunks/3diwb2iuom_tm.js" async=""></script><script src="/_next/static/chunks/25o46h8mdjlrg.js" async=""></script><script src="/_next/static/chunks/turbopack-15dmj_1idpm1l.js" async=""></script><script src="/_next/static/chunks/0acm34w22hx9z.js" async=""></script><script src="/_next/static/chunks/0e0fl5qcvu-yx.js" async=""></script><script src="/_next/static/chunks/3vw-_f96ru14r.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>PrismaFlow - Migration Dashboard</title><meta name="description" content="Visual Prisma migration management. Monitor, detect drift, and ship database changes safely."/><meta name="keywords" content="prisma,migrations,database,schema drift,devtools"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="antialiased bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden"><aside class="flex h-screen w-56 flex-col border-r bg-sidebar shrink-0"><div class="flex h-14 items-center gap-2 border-b px-4"><span class="text-lg font-bold tracking-tight text-foreground">Prisma<span class="text-primary">Flow</span></span></div><nav class="flex-1 overflow-y-auto py-4 px-2 space-y-0.5"><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/migrations/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database h-4 w-4 shrink-0" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg>Migrations</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/risks/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-alert h-4 w-4 shrink-0" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="M12 8v4"></path><path d="M12 16h.01"></path></svg>Risks</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/simulate/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical h-4 w-4 shrink-0" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg>Simulate</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/schema/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network h-4 w-4 shrink-0" aria-hidden="true"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg>Schema</a></nav><div class="border-t px-4 py-3"><p class="text-xs text-muted-foreground">PrismaFlow v<!-- -->0.1.0</p></div></aside><main class="flex-1 overflow-y-auto"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0_8y92xg60ach.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[46417,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"Sidebar\"]\n3:I[39756,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[97367,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"ViewportBoundary\"]\nb:I[97367,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"MetadataBoundary\"]\nd:I[68027,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/25hh9nwx-v3c5.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/25hh9nwx-v3c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0acm34w22hx9z.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/3vw-_f96ru14r.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased bg-background text-foreground\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-y-auto\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/25hh9nwx-v3c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"0mXb1HP7_wVjSa11pmE1C\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[27201,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"PrismaFlow - Migration Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visual Prisma migration management. Monitor, detect drift, and ship database changes safely.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"prisma,migrations,database,schema drift,devtools\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
package/public/404.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0s76k7hq9-wfk.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_8y92xg60ach.js"/><script src="/_next/static/chunks/2o1jw19xgqkzz.js" async=""></script><script src="/_next/static/chunks/2nykiepra7i1k.js" async=""></script><script src="/_next/static/chunks/turbopack-0r_p3gsi1hu9t.js" async=""></script><script src="/_next/static/chunks/0ov8yxc8yngji.js" async=""></script><script src="/_next/static/chunks/031d4hdncmqdj.js" async=""></script><script src="/_next/static/chunks/2ohti557qol0g.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>PrismaFlow - Migration Dashboard</title><meta name="description" content="Visual Prisma migration management. Monitor, detect drift, and ship database changes safely."/><meta name="keywords" content="prisma,migrations,database,schema drift,devtools"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="antialiased bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden"><aside class="flex h-screen w-56 flex-col border-r bg-sidebar shrink-0"><div class="flex h-14 items-center gap-2 border-b px-4"><span class="text-lg font-bold tracking-tight text-foreground">Prisma<span class="text-primary">Flow</span></span></div><nav class="flex-1 overflow-y-auto py-4 px-2 space-y-0.5"><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/migrations/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database h-4 w-4 shrink-0" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg>Migrations</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/risks/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-alert h-4 w-4 shrink-0" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="M12 8v4"></path><path d="M12 16h.01"></path></svg>Risks</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/simulate/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical h-4 w-4 shrink-0" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg>Simulate</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/schema/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network h-4 w-4 shrink-0" aria-hidden="true"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg>Schema</a></nav><div class="border-t px-4 py-3"><p class="text-xs text-muted-foreground">PrismaFlow v<!-- -->0.1.0</p></div></aside><main class="flex-1 overflow-y-auto"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0_8y92xg60ach.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24375,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"Sidebar\"]\n3:I[39756,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[97367,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"ViewportBoundary\"]\nb:I[97367,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"MetadataBoundary\"]\nd:I[68027,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0s76k7hq9-wfk.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0s76k7hq9-wfk.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0ov8yxc8yngji.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/031d4hdncmqdj.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/2ohti557qol0g.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased bg-background text-foreground\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-y-auto\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0s76k7hq9-wfk.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ySSMgkts9h6_mRnScxk9f\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[27201,[\"/_next/static/chunks/0ov8yxc8yngji.js\",\"/_next/static/chunks/031d4hdncmqdj.js\",\"/_next/static/chunks/2ohti557qol0g.js\"],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"PrismaFlow - Migration Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visual Prisma migration management. Monitor, detect drift, and ship database changes safely.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"prisma,migrations,database,schema drift,devtools\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/25hh9nwx-v3c5.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_8y92xg60ach.js"/><script src="/_next/static/chunks/3diwb2iuom_tm.js" async=""></script><script src="/_next/static/chunks/25o46h8mdjlrg.js" async=""></script><script src="/_next/static/chunks/turbopack-15dmj_1idpm1l.js" async=""></script><script src="/_next/static/chunks/0acm34w22hx9z.js" async=""></script><script src="/_next/static/chunks/0e0fl5qcvu-yx.js" async=""></script><script src="/_next/static/chunks/3vw-_f96ru14r.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>PrismaFlow - Migration Dashboard</title><meta name="description" content="Visual Prisma migration management. Monitor, detect drift, and ship database changes safely."/><meta name="keywords" content="prisma,migrations,database,schema drift,devtools"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="antialiased bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden"><aside class="flex h-screen w-56 flex-col border-r bg-sidebar shrink-0"><div class="flex h-14 items-center gap-2 border-b px-4"><span class="text-lg font-bold tracking-tight text-foreground">Prisma<span class="text-primary">Flow</span></span></div><nav class="flex-1 overflow-y-auto py-4 px-2 space-y-0.5"><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/migrations/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database h-4 w-4 shrink-0" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg>Migrations</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/risks/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-alert h-4 w-4 shrink-0" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="M12 8v4"></path><path d="M12 16h.01"></path></svg>Risks</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/simulate/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical h-4 w-4 shrink-0" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg>Simulate</a><a class="flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors text-muted-foreground hover:bg-muted hover:text-foreground" href="/schema/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network h-4 w-4 shrink-0" aria-hidden="true"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg>Schema</a></nav><div class="border-t px-4 py-3"><p class="text-xs text-muted-foreground">PrismaFlow v<!-- -->0.1.0</p></div></aside><main class="flex-1 overflow-y-auto"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0_8y92xg60ach.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[46417,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"Sidebar\"]\n3:I[39756,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[97367,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"ViewportBoundary\"]\nb:I[97367,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"MetadataBoundary\"]\nd:I[68027,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/25hh9nwx-v3c5.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/25hh9nwx-v3c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0acm34w22hx9z.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/3vw-_f96ru14r.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased bg-background text-foreground\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-y-auto\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/25hh9nwx-v3c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"0mXb1HP7_wVjSa11pmE1C\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[27201,[\"/_next/static/chunks/0acm34w22hx9z.js\",\"/_next/static/chunks/0e0fl5qcvu-yx.js\",\"/_next/static/chunks/3vw-_f96ru14r.js\"],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"PrismaFlow - Migration Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Visual Prisma migration management. Monitor, detect drift, and ship database changes safely.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"prisma,migrations,database,schema drift,devtools\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[47257,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"ClientPageRoot"]
3
- 3:I[42775,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js","/_next/static/chunks/3w1qpcrpp5s4-.js","/_next/static/chunks/0zv5uyi-a4e2y.js","/_next/static/chunks/0p4y8c2fq43wu.js"],"default"]
4
- 6:I[97367,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"OutletBoundary"]
2
+ 2:I[47257,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"ClientPageRoot"]
3
+ 3:I[62453,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js","/_next/static/chunks/1te0x9fwhrf60.js","/_next/static/chunks/0z1o-405295er.js","/_next/static/chunks/1gswx446-o00_.js"],"default"]
4
+ 6:I[97367,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
- 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/3w1qpcrpp5s4-.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0zv5uyi-a4e2y.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0p4y8c2fq43wu.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"ySSMgkts9h6_mRnScxk9f"}
6
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/1te0x9fwhrf60.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0z1o-405295er.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/1gswx446-o00_.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"0mXb1HP7_wVjSa11pmE1C"}
7
7
  4:{}
8
8
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
9
  8:null
@@ -1,19 +1,19 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[24375,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"Sidebar"]
3
- 3:I[39756,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"default"]
4
- 4:I[37457,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"default"]
5
- 5:I[47257,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"ClientPageRoot"]
6
- 6:I[42775,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js","/_next/static/chunks/3w1qpcrpp5s4-.js","/_next/static/chunks/0zv5uyi-a4e2y.js","/_next/static/chunks/0p4y8c2fq43wu.js"],"default"]
7
- 9:I[97367,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"OutletBoundary"]
2
+ 2:I[46417,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"Sidebar"]
3
+ 3:I[39756,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"default"]
4
+ 4:I[37457,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"default"]
5
+ 5:I[47257,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"ClientPageRoot"]
6
+ 6:I[62453,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js","/_next/static/chunks/1te0x9fwhrf60.js","/_next/static/chunks/0z1o-405295er.js","/_next/static/chunks/1gswx446-o00_.js"],"default"]
7
+ 9:I[97367,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"OutletBoundary"]
8
8
  a:"$Sreact.suspense"
9
- c:I[97367,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"ViewportBoundary"]
10
- e:I[97367,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"MetadataBoundary"]
11
- 10:I[68027,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"default",1]
12
- :HL["/_next/static/chunks/0s76k7hq9-wfk.css","style"]
13
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0s76k7hq9-wfk.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0ov8yxc8yngji.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/031d4hdncmqdj.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/2ohti557qol0g.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased bg-background text-foreground","children":["$","div",null,{"className":"flex h-screen overflow-hidden","children":[["$","$L2",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/3w1qpcrpp5s4-.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0zv5uyi-a4e2y.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0p4y8c2fq43wu.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0s76k7hq9-wfk.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"ySSMgkts9h6_mRnScxk9f"}
9
+ c:I[97367,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"ViewportBoundary"]
10
+ e:I[97367,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"MetadataBoundary"]
11
+ 10:I[68027,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"default",1]
12
+ :HL["/_next/static/chunks/25hh9nwx-v3c5.css","style"]
13
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/25hh9nwx-v3c5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0acm34w22hx9z.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0e0fl5qcvu-yx.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/3vw-_f96ru14r.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased bg-background text-foreground","children":["$","div",null,{"className":"flex h-screen overflow-hidden","children":[["$","$L2",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/1te0x9fwhrf60.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0z1o-405295er.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/1gswx446-o00_.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/25hh9nwx-v3c5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"0mXb1HP7_wVjSa11pmE1C"}
14
14
  7:{}
15
15
  8:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
16
16
  d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0f172a"}]]
17
- 11:I[27201,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"IconMark"]
17
+ 11:I[27201,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"IconMark"]
18
18
  b:null
19
19
  f:[["$","title","0",{"children":"PrismaFlow - Migration Dashboard"}],["$","meta","1",{"name":"description","content":"Visual Prisma migration management. Monitor, detect drift, and ship database changes safely."}],["$","meta","2",{"name":"keywords","content":"prisma,migrations,database,schema drift,devtools"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L11","4",{}]]
@@ -1,6 +1,6 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[97367,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"ViewportBoundary"]
3
- 3:I[97367,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"MetadataBoundary"]
2
+ 2:I[97367,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"ViewportBoundary"]
3
+ 3:I[97367,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
- 5:I[27201,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"IconMark"]
6
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0f172a"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"PrismaFlow - Migration Dashboard"}],["$","meta","1",{"name":"description","content":"Visual Prisma migration management. Monitor, detect drift, and ship database changes safely."}],["$","meta","2",{"name":"keywords","content":"prisma,migrations,database,schema drift,devtools"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","4",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"ySSMgkts9h6_mRnScxk9f"}
5
+ 5:I[27201,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"IconMark"]
6
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0f172a"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"PrismaFlow - Migration Dashboard"}],["$","meta","1",{"name":"description","content":"Visual Prisma migration management. Monitor, detect drift, and ship database changes safely."}],["$","meta","2",{"name":"keywords","content":"prisma,migrations,database,schema drift,devtools"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","4",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"0mXb1HP7_wVjSa11pmE1C"}
@@ -1,6 +1,6 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[24375,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"Sidebar"]
3
- 3:I[39756,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"default"]
4
- 4:I[37457,["/_next/static/chunks/0ov8yxc8yngji.js","/_next/static/chunks/031d4hdncmqdj.js","/_next/static/chunks/2ohti557qol0g.js"],"default"]
5
- :HL["/_next/static/chunks/0s76k7hq9-wfk.css","style"]
6
- 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0s76k7hq9-wfk.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0ov8yxc8yngji.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/031d4hdncmqdj.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/2ohti557qol0g.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased bg-background text-foreground","children":["$","div",null,{"className":"flex h-screen overflow-hidden","children":[["$","$L2",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"ySSMgkts9h6_mRnScxk9f"}
2
+ 2:I[46417,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"Sidebar"]
3
+ 3:I[39756,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"default"]
4
+ 4:I[37457,["/_next/static/chunks/0acm34w22hx9z.js","/_next/static/chunks/0e0fl5qcvu-yx.js","/_next/static/chunks/3vw-_f96ru14r.js"],"default"]
5
+ :HL["/_next/static/chunks/25hh9nwx-v3c5.css","style"]
6
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/25hh9nwx-v3c5.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0acm34w22hx9z.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0e0fl5qcvu-yx.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/3vw-_f96ru14r.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased bg-background text-foreground","children":["$","div",null,{"className":"flex h-screen overflow-hidden","children":[["$","$L2",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"0mXb1HP7_wVjSa11pmE1C"}
@@ -1,2 +1,2 @@
1
- :HL["/_next/static/chunks/0s76k7hq9-wfk.css","style"]
2
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"ySSMgkts9h6_mRnScxk9f"}
1
+ :HL["/_next/static/chunks/25hh9nwx-v3c5.css","style"]
2
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"0mXb1HP7_wVjSa11pmE1C"}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,58805,e=>{"use strict";var t=e.i(43476),s=e.i(932),l=e.i(78894),a=e.i(75254);let r=(0,a.default)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var n=e.i(38982);let i=(0,a.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var c=e.i(71645),d=e.i(83599),o=e.i(35878);function m(e){return(0,t.jsxs)("div",{className:`rounded-lg border p-4 ${e.isDestructive?"border-yellow-500/40 bg-yellow-500/5":"bg-card"}`,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[e.isDestructive?(0,t.jsx)(l.AlertTriangle,{className:"h-3.5 w-3.5 text-yellow-500 shrink-0"}):(0,t.jsx)(r,{className:"h-3.5 w-3.5 text-emerald-500 shrink-0"}),(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e.type})]}),(0,t.jsxs)("pre",{className:"font-mono text-xs text-foreground whitespace-pre-wrap break-all",children:[e.sql.slice(0,200),e.sql.length>200?"…":""]}),e.warnings.map(s=>(0,t.jsxs)("p",{className:"mt-1 text-xs text-yellow-600",children:["↳ ",s]},`${e.index}-${s}`))]},e.index)}function x(e){return(0,t.jsxs)("li",{className:"flex items-start gap-2 text-sm text-yellow-700 dark:text-yellow-400",children:[(0,t.jsx)(l.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{children:e})]},e)}function u(e){return(0,t.jsx)("div",{className:"h-16 bg-muted animate-pulse rounded-lg"},e)}function h(e){return(0,t.jsx)("option",{value:e.name,children:e.name},e.name)}function g(e){let[,t]=e;return(0,o.fetchSimulation)(t)}function f(){return(0,o.fetchMigrations)(1,50)}e.s(["default",0,function(){let e,a,r,p,j,b,N,v,y,w,S,k,_,A,F,T,C,E,D=(0,s.c)(37);D[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.SWR_KEYS.migrations(1,50),D[0]=e):e=D[0];let{data:M}=(0,d.default)(e,f),[P,I]=(0,c.useState)(null);D[1]!==P?(a=P?["simulation",P]:null,D[1]=P,D[2]=a):a=D[2];let{data:L,error:R,isLoading:$}=(0,d.default)(a,g);D[3]!==M?.data?(r=M?.data??[],D[3]=M?.data,D[4]=r):r=D[4];let B=r,K=B.length>0;D[5]===Symbol.for("react.memo_cache_sentinel")?(p=function(e,s){return"executed"===e&&"success"===s?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-2xl font-bold text-emerald-500",children:"PASS"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Executed in shadow DB"})]}):"executed"===e&&"failure"===s?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-2xl font-bold text-destructive",children:"FAIL"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Shadow execution failed"})]}):"static-analysis"===e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-2xl font-bold text-yellow-500",children:"STATIC"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Execution not verified"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-2xl font-bold text-muted-foreground",children:"UNVERIFIED"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Not verified for provider"})]})},D[5]=p):p=D[5];let O=p;return D[6]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsxs)("h1",{className:"text-2xl font-bold flex items-center gap-2 mb-2",children:[(0,t.jsx)(n.FlaskConical,{className:"h-6 w-6"})," Simulate Migration"]}),b=(0,t.jsx)("p",{className:"text-sm text-muted-foreground mb-6",children:"Preview migration SQL, identify destructive statements, and review executed shadow results where supported."}),D[6]=j,D[7]=b):(j=D[6],b=D[7]),D[8]===Symbol.for("react.memo_cache_sentinel")?(N=(0,t.jsx)("label",{htmlFor:"migration-select",className:"block text-sm font-medium mb-1.5",children:"Select migration"}),D[8]=N):N=D[8],D[9]===Symbol.for("react.memo_cache_sentinel")?(v=e=>I(e.target.value||null),D[9]=v):v=D[9],D[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)("option",{value:"",children:"— choose a migration —"}),D[10]=y):y=D[10],D[11]!==B?(w=B.map(h),D[11]=B,D[12]=w):w=D[12],D[13]!==w?(S=(0,t.jsxs)("select",{id:"migration-select",className:"w-full rounded-md border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring",onChange:v,defaultValue:"",children:[y,w]}),D[13]=w,D[14]=S):S=D[14],D[15]!==K||D[16]!==M?(k=!K&&M&&(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"No migrations are available to simulate in this Prisma project."}),D[15]=K,D[16]=M,D[17]=k):k=D[17],D[18]!==S||D[19]!==k?(_=(0,t.jsxs)("div",{className:"mb-6",children:[N,S,k]}),D[18]=S,D[19]=k,D[20]=_):_=D[20],D[21]!==$?(A=$&&(0,t.jsx)("div",{className:"space-y-3",children:[1,2,3].map(u)}),D[21]=$,D[22]=A):A=D[22],D[23]!==R?(F=R&&(0,t.jsxs)("div",{className:"rounded-lg border border-destructive/40 bg-destructive/10 p-4 text-destructive",children:[(0,t.jsx)(l.AlertTriangle,{className:"h-4 w-4 inline mr-2"}),R instanceof Error?R.message:"Simulation failed"]}),D[23]=R,D[24]=F):F=D[24],D[25]!==L?(T=L&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"mb-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,t.jsx)("div",{className:"rounded-lg border bg-card p-4 text-center",children:O(L.verification,L.outcome)}),(0,t.jsxs)("div",{className:"rounded-lg border bg-card p-4 text-center",children:[(0,t.jsx)("p",{className:"text-2xl font-bold",children:L.statements.length}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Statements"})]}),(0,t.jsxs)("div",{className:"rounded-lg border bg-card p-4 text-center",children:[(0,t.jsx)("p",{className:`text-2xl font-bold ${L.destructiveStatements>0?"text-yellow-500":"text-emerald-500"}`,children:L.destructiveStatements}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Destructive"})]}),(0,t.jsxs)("div",{className:"rounded-lg border bg-card p-4 text-center",children:[(0,t.jsx)("p",{className:"text-xs font-mono text-muted-foreground capitalize",children:L.verification}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Verification"})]})]}),"static-analysis"===L.verification&&(0,t.jsxs)("div",{className:"mb-4 rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-4 text-sm text-yellow-800 dark:text-yellow-300 flex items-start gap-2",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-semibold",children:"Static Analysis Only"}),(0,t.jsx)("p",{className:"text-xs mt-0.5",children:"SQL statements were parsed for destructive patterns, but were not executed against a live or shadow database."})]})]}),L.warnings.length>0&&(0,t.jsxs)("div",{className:"mb-4 rounded-lg border border-yellow-500/40 bg-yellow-500/10 p-4",children:[(0,t.jsx)("p",{className:"font-medium text-yellow-700 dark:text-yellow-400 text-sm mb-2",children:"Warnings"}),(0,t.jsx)("ul",{className:"space-y-1",children:L.warnings.map(x)})]}),(0,t.jsx)("div",{className:"space-y-2",children:L.statements.map(m)})]}),D[25]=L,D[26]=T):T=D[26],D[27]!==K||D[28]!==$||D[29]!==P?(C=!P&&!$&&K&&(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-12 text-muted-foreground",children:[(0,t.jsx)(n.FlaskConical,{className:"h-10 w-10 opacity-40"}),(0,t.jsx)("p",{className:"text-sm",children:"Select a migration above to run a simulation."})]}),D[27]=K,D[28]=$,D[29]=P,D[30]=C):C=D[30],D[31]!==_||D[32]!==A||D[33]!==F||D[34]!==T||D[35]!==C?(E=(0,t.jsxs)("div",{className:"p-6 max-w-4xl",children:[j,b,_,A,F,T,C]}),D[31]=_,D[32]=A,D[33]=F,D[34]=T,D[35]=C,D[36]=E):E=D[36],E}],58805)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return u},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function u(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return _},MissingStaticPage:function(){return x},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return y},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return s},getURL:function(){return c},isAbsoluteUrl:function(){return u},isResSent:function(){return d},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return k}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>l.test(e);function s(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=s();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let y="u">typeof performance,m=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},75254,e=>{"use strict";var t=e.i(71645);let r=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},n=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim();var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:l="",children:u,iconNode:s,...c},f)=>(0,t.createElement)("svg",{ref:f,...o,width:r,height:r,stroke:e,strokeWidth:i?24*Number(a)/Number(r):a,className:n("lucide",l),...!u&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(c)&&{"aria-hidden":"true"},...c},[...s.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]]));e.s(["default",0,(e,o)=>{let i=(0,t.forwardRef)(({className:i,...l},u)=>(0,t.createElement)(a,{ref:u,iconNode:o,className:n(`lucide-${r(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...l}));return i.displayName=r(e),i}],75254)},79474,(e,t,r)=>{"use strict";var n=e.r(71645).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;r.c=function(e){return n.H.useMemoCache(e)}},932,(e,t,r)=>{"use strict";t.exports=e.r(79474)},58041,e=>{"use strict";let t=(0,e.i(75254).default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);e.s(["Database",0,t],58041)},38982,e=>{"use strict";let t=(0,e.i(75254).default)("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]);e.s(["FlaskConical",0,t],38982)},51737,e=>{"use strict";let t=(0,e.i(75254).default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);e.s(["ShieldAlert",0,t],51737)},78094,e=>{"use strict";let t=(0,e.i(75254).default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);e.s(["Network",0,t],78094)},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return s},urlObjectKeys:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",l=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(a.urlQueryToSearchParams(u)));let c=e.search||u&&`?${u}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==s?(s="//"+(s||""),o&&"/"!==o[0]&&(o="/"+o)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${o}${c}${l}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return l(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return v}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809),i=e.r(43476),l=a._(e.r(71645)),u=e.r(95057),s=e.r(8372),c=e.r(18581),f=e.r(18967),d=e.r(5550);e.r(33525);let h=e.r(88540),p=e.r(91949),y=e.r(73668),m=e.r(9396);function g(t){var r,n;let o,a,g,[v,x]=(0,l.useOptimistic)(p.IDLE_LINK_STATUS),_=(0,l.useRef)(null),{href:k,as:w,children:P,prefetch:E=null,passHref:S,replace:j,shallow:N,scroll:O,onClick:C,onMouseEnter:R,onTouchStart:A,legacyBehavior:T=!1,onNavigate:M,transitionTypes:L,ref:U,unstable_dynamicOnHover:$,...I}=t;o=P,T&&("string"==typeof o||"number"==typeof o)&&(o=(0,i.jsx)("a",{children:o}));let D=l.default.useContext(s.AppRouterContext),F=!1!==E,B=!1!==E?null===(n=E)||"auto"===n?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,z="string"==typeof(r=w||k)?r:(0,u.formatUrl)(r);if(T){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=l.default.Children.only(o)}let K=T?a&&"object"==typeof a&&a.ref:U,W=l.default.useCallback(e=>(null!==D&&(_.current=(0,p.mountLinkInstance)(e,z,D,B,F,x)),()=>{_.current&&((0,p.unmountLinkForCurrentNavigation)(_.current),_.current=null),(0,p.unmountPrefetchableInstance)(e)}),[F,z,D,B,x]),V={ref:(0,c.useMergedRef)(W,K),onClick(t){T||"function"!=typeof C||C(t),T&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,o,a,i,u){if("u">typeof window){let s,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((s=t.currentTarget.getAttribute("target"))&&"_self"!==s||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,y.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);l.default.startTransition(()=>{f(r,o?"replace":"push",!1===a?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,u)})}}(t,z,_,j,O,M,L)},onMouseEnter(e){T||"function"!=typeof R||R(e),T&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){T||"function"!=typeof A||A(e),T&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,f.isAbsoluteUrl)(z)?V.href=z:T&&!S&&("a"!==a.type||"href"in a.props)||(V.href=(0,d.addBasePath)(z)),g=T?l.default.cloneElement(a,V):(0,i.jsx)("a",{...I,...V,children:o}),(0,i.jsx)(b.Provider,{value:v,children:g})}e.r(84508);let b=(0,l.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18566,(e,t,r)=>{t.exports=e.r(76562)},24375,e=>{"use strict";var t=e.i(47167),r=e.i(43476),n=e.i(932),o=e.i(21218),a=e.i(58041),i=e.i(38982);let l=(0,e.i(75254).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var u=e.i(78094),s=e.i(51737),c=e.i(22016),f=e.i(18566),d=e.i(71645),h=e.i(7903);let p=[{label:"Overview",href:"/",icon:l},{label:"Migrations",href:"/migrations",icon:a.Database},{label:"Drift",href:"/drift",icon:o.Activity},{label:"Risks",href:"/risks",icon:s.ShieldAlert},{label:"Simulate",href:"/simulate",icon:i.FlaskConical},{label:"Schema",href:"/schema",icon:u.Network}];e.s(["Sidebar",0,function(){let e,o,a,i,l,u,s,y=(0,n.c)(11),m=(0,f.usePathname)(),[g,b]=(0,d.useState)(null);return y[0]===Symbol.for("react.memo_cache_sentinel")?(e=()=>{b(new URLSearchParams(window.location.search).get("token"))},o=[],y[0]=e,y[1]=o):(e=y[0],o=y[1]),(0,d.useEffect)(e,o),y[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)("div",{className:"flex h-14 items-center gap-2 border-b px-4",children:(0,r.jsxs)("span",{className:"text-lg font-bold tracking-tight text-foreground",children:["Prisma",(0,r.jsx)("span",{className:"text-primary",children:"Flow"})]})}),y[2]=a):a=y[2],y[3]!==m||y[4]!==g?(i=p.map(e=>{let{label:t,href:n,icon:o}=e,a="/"===n?"/"===m:m.startsWith(n),i=g?`${n}?token=${encodeURIComponent(g)}`:n;return(0,r.jsxs)(c.default,{href:i,className:(0,h.cn)("flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors",a?"bg-accent text-accent-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[(0,r.jsx)(o,{className:"h-4 w-4 shrink-0"}),t]},n)}),y[3]=m,y[4]=g,y[5]=i):i=y[5],y[6]!==i?(l=(0,r.jsx)("nav",{className:"flex-1 overflow-y-auto py-4 px-2 space-y-0.5",children:i}),y[6]=i,y[7]=l):l=y[7],y[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,r.jsx)("div",{className:"border-t px-4 py-3",children:(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:["PrismaFlow v",t.default.env.npm_package_version??"0.1.0"]})}),y[8]=u):u=y[8],y[9]!==l?(s=(0,r.jsxs)("aside",{className:"flex h-screen w-56 flex-col border-r bg-sidebar shrink-0",children:[a,l,u]}),y[9]=l,y[10]=s):s=y[10],s}],24375)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31894,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return u},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function u(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return _},MissingStaticPage:function(){return x},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return y},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return s},getURL:function(){return c},isAbsoluteUrl:function(){return u},isResSent:function(){return d},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return k}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>l.test(e);function s(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=s();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let y="u">typeof performance,m=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},75254,e=>{"use strict";var t=e.i(71645);let r=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},n=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim();var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:l="",children:u,iconNode:s,...c},f)=>(0,t.createElement)("svg",{ref:f,...o,width:r,height:r,stroke:e,strokeWidth:i?24*Number(a)/Number(r):a,className:n("lucide",l),...!u&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(c)&&{"aria-hidden":"true"},...c},[...s.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]]));e.s(["default",0,(e,o)=>{let i=(0,t.forwardRef)(({className:i,...l},u)=>(0,t.createElement)(a,{ref:u,iconNode:o,className:n(`lucide-${r(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...l}));return i.displayName=r(e),i}],75254)},79474,(e,t,r)=>{"use strict";var n=e.r(71645).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;r.c=function(e){return n.H.useMemoCache(e)}},932,(e,t,r)=>{"use strict";t.exports=e.r(79474)},58041,e=>{"use strict";let t=(0,e.i(75254).default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);e.s(["Database",0,t],58041)},38982,e=>{"use strict";let t=(0,e.i(75254).default)("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]);e.s(["FlaskConical",0,t],38982)},51737,e=>{"use strict";let t=(0,e.i(75254).default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);e.s(["ShieldAlert",0,t],51737)},78094,e=>{"use strict";let t=(0,e.i(75254).default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);e.s(["Network",0,t],78094)},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return s},urlObjectKeys:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809)._(e.r(31894)),i=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",l=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(a.urlQueryToSearchParams(u)));let c=e.search||u&&`?${u}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==s?(s="//"+(s||""),o&&"/"!==o[0]&&(o="/"+o)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${o}${c}${l}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return l(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return v}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809),i=e.r(43476),l=a._(e.r(71645)),u=e.r(95057),s=e.r(8372),c=e.r(18581),f=e.r(18967),d=e.r(5550);e.r(33525);let h=e.r(88540),p=e.r(91949),y=e.r(73668),m=e.r(9396);function g(t){var r,n;let o,a,g,[v,x]=(0,l.useOptimistic)(p.IDLE_LINK_STATUS),_=(0,l.useRef)(null),{href:k,as:w,children:P,prefetch:E=null,passHref:S,replace:j,shallow:N,scroll:O,onClick:C,onMouseEnter:R,onTouchStart:A,legacyBehavior:T=!1,onNavigate:M,transitionTypes:L,ref:U,unstable_dynamicOnHover:$,...I}=t;o=P,T&&("string"==typeof o||"number"==typeof o)&&(o=(0,i.jsx)("a",{children:o}));let D=l.default.useContext(s.AppRouterContext),F=!1!==E,B=!1!==E?null===(n=E)||"auto"===n?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,z="string"==typeof(r=w||k)?r:(0,u.formatUrl)(r);if(T){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=l.default.Children.only(o)}let K=T?a&&"object"==typeof a&&a.ref:U,W=l.default.useCallback(e=>(null!==D&&(_.current=(0,p.mountLinkInstance)(e,z,D,B,F,x)),()=>{_.current&&((0,p.unmountLinkForCurrentNavigation)(_.current),_.current=null),(0,p.unmountPrefetchableInstance)(e)}),[F,z,D,B,x]),V={ref:(0,c.useMergedRef)(W,K),onClick(t){T||"function"!=typeof C||C(t),T&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,o,a,i,u){if("u">typeof window){let s,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((s=t.currentTarget.getAttribute("target"))&&"_self"!==s||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,y.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);l.default.startTransition(()=>{f(r,o?"replace":"push",!1===a?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,u)})}}(t,z,_,j,O,M,L)},onMouseEnter(e){T||"function"!=typeof R||R(e),T&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){T||"function"!=typeof A||A(e),T&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,f.isAbsoluteUrl)(z)?V.href=z:T&&!S&&("a"!==a.type||"href"in a.props)||(V.href=(0,d.addBasePath)(z)),g=T?l.default.cloneElement(a,V):(0,i.jsx)("a",{...I,...V,children:o}),(0,i.jsx)(b.Provider,{value:v,children:g})}e.r(84508);let b=(0,l.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18566,(e,t,r)=>{t.exports=e.r(76562)},46417,e=>{"use strict";var t=e.i(47167),r=e.i(43476),n=e.i(932),o=e.i(21218),a=e.i(58041),i=e.i(38982);let l=(0,e.i(75254).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var u=e.i(78094),s=e.i(51737),c=e.i(22016),f=e.i(18566),d=e.i(71645),h=e.i(59992);let p=[{label:"Overview",href:"/",icon:l},{label:"Migrations",href:"/migrations",icon:a.Database},{label:"Drift",href:"/drift",icon:o.Activity},{label:"Risks",href:"/risks",icon:s.ShieldAlert},{label:"Simulate",href:"/simulate",icon:i.FlaskConical},{label:"Schema",href:"/schema",icon:u.Network}];e.s(["Sidebar",0,function(){let e,o,a,i,l,u,s,y=(0,n.c)(11),m=(0,f.usePathname)(),[g,b]=(0,d.useState)(null);return y[0]===Symbol.for("react.memo_cache_sentinel")?(e=()=>{b(new URLSearchParams(window.location.search).get("token"))},o=[],y[0]=e,y[1]=o):(e=y[0],o=y[1]),(0,d.useEffect)(e,o),y[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)("div",{className:"flex h-14 items-center gap-2 border-b px-4",children:(0,r.jsxs)("span",{className:"text-lg font-bold tracking-tight text-foreground",children:["Prisma",(0,r.jsx)("span",{className:"text-primary",children:"Flow"})]})}),y[2]=a):a=y[2],y[3]!==m||y[4]!==g?(i=p.map(e=>{let{label:t,href:n,icon:o}=e,a="/"===n?"/"===m:m.startsWith(n),i=g?`${n}?token=${encodeURIComponent(g)}`:n;return(0,r.jsxs)(c.default,{href:i,className:(0,h.cn)("flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium transition-colors",a?"bg-accent text-accent-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[(0,r.jsx)(o,{className:"h-4 w-4 shrink-0"}),t]},n)}),y[3]=m,y[4]=g,y[5]=i):i=y[5],y[6]!==i?(l=(0,r.jsx)("nav",{className:"flex-1 overflow-y-auto py-4 px-2 space-y-0.5",children:i}),y[6]=i,y[7]=l):l=y[7],y[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,r.jsx)("div",{className:"border-t px-4 py-3",children:(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:["PrismaFlow v",t.default.env.npm_package_version??"0.1.0"]})}),y[8]=u):u=y[8],y[9]!==l?(s=(0,r.jsxs)("aside",{className:"flex h-screen w-56 flex-col border-r bg-sidebar shrink-0",children:[a,l,u]}),y[9]=l,y[10]=s):s=y[10],s}],46417)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95468,e=>{"use strict";let s=(0,e.i(75254).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,s],95468)},66543,e=>{"use strict";var s=e.i(43476),t=e.i(932),l=e.i(78894),d=e.i(95468),a=e.i(75254);let r=(0,a.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var n=e.i(78094);let i=(0,a.default)("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);var c=e.i(83599),m=e.i(50891);function o(e){return(0,s.jsxs)("div",{className:"rounded-lg border p-3",children:[(0,s.jsx)("p",{className:"font-mono text-xs font-semibold",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.values.map(x).join(", ")})]},e.name)}function x(e){return e.name}function h(e){return(0,s.jsxs)("div",{className:"rounded-lg border p-3 text-sm",children:[(0,s.jsxs)("p",{className:"font-mono text-xs",children:[e.from," -> ",e.to]}),(0,s.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["via ",e.field]})]},`${e.from}-${e.field}-${e.to}`)}function u(e){return(0,s.jsxs)("article",{className:"rounded-xl border bg-card p-4 shadow-sm",children:[(0,s.jsx)("h2",{className:"font-mono text-lg font-semibold",children:e.name}),(0,s.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b text-left text-xs text-muted-foreground",children:[(0,s.jsx)("th",{className:"pb-2 font-medium",children:"Field"}),(0,s.jsx)("th",{className:"pb-2 font-medium",children:"Type"}),(0,s.jsx)("th",{className:"pb-2 font-medium",children:"Constraints"})]})}),(0,s.jsx)("tbody",{className:"divide-y",children:e.fields.map(f)})]})})]},e.name)}function f(e){let t,l=(t=[],e.isId&&t.push("id"),e.isUnique&&t.push("unique"),e.isList&&t.push("list"),e.isRequired||t.push("optional"),t);return(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"py-2 font-mono text-xs",children:e.name}),(0,s.jsxs)("td",{className:"py-2 font-mono text-xs text-muted-foreground",children:[e.type,e.isList?"[]":""]}),(0,s.jsx)("td",{className:"py-2",children:(0,s.jsxs)("div",{className:"flex flex-wrap gap-1",children:[0===l.length&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"required"}),l.map(t=>(0,s.jsx)("span",{className:"rounded-full bg-muted px-1.5 py-0.5 text-xs",children:t},`${e.name}-${t}`))]})})]},e.name)}function p(e){return(0,s.jsxs)("div",{className:"rounded-lg border bg-background p-4",children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsx)("h3",{className:"font-mono text-sm font-semibold",children:e.name}),(0,s.jsxs)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-xs text-primary",children:[e.fields.length," fields"]})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[e.fields.slice(0,6).map(j),e.fields.length>6&&(0,s.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:[e.fields.length-6," more fields"]})]})]},e.name)}function j(e){return(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs",children:[(0,s.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[e.isId&&(0,s.jsx)(r,{className:"h-3 w-3 shrink-0 text-yellow-500"}),(0,s.jsx)("span",{className:"truncate font-mono",children:e.name})]}),(0,s.jsx)("span",{className:"shrink-0 text-muted-foreground",children:e.type})]},e.name)}function g(e){return(0,s.jsx)("div",{className:"h-64 animate-pulse rounded-xl bg-muted"},e)}function N(e){return e.fields.filter(e=>"object"===e.kind).map(s=>({from:e.name,to:s.type,field:s.name}))}e.s(["default",0,function(){let e,a,r=(0,t.c)(13);r[0]===Symbol.for("react.memo_cache_sentinel")?(e={refreshInterval:6e4},r[0]=e):e=r[0];let{data:x,error:f,isLoading:j}=(0,c.default)(m.SWR_KEYS.schema,m.fetchSchema,e);if(r[1]!==x?.enums||r[2]!==x?.models||r[3]!==f||r[4]!==j){let e,t,c,m,b=x?.models??[];r[6]!==x?.enums?(e=x?.enums??[],r[6]=x?.enums,r[7]=e):e=r[7];let v=e,y=b.flatMap(N);r[8]===Symbol.for("react.memo_cache_sentinel")?(t=(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsxs)("h1",{className:"flex items-center gap-2 text-2xl font-bold",children:[(0,s.jsx)(n.Network,{className:"h-6 w-6"})," Schema Explorer"]}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Visualize Prisma models, fields, relations, enums, indexes, and constraints."})]}),r[8]=t):t=r[8],r[9]!==j?(c=j&&(0,s.jsx)("div",{className:"grid gap-4 lg:grid-cols-2",children:[1,2,3,4].map(g)}),r[9]=j,r[10]=c):c=r[10],r[11]!==f?(m=f&&(0,s.jsxs)("div",{className:"rounded-lg border border-destructive/40 bg-destructive/10 p-4 text-destructive",children:[(0,s.jsx)(l.AlertTriangle,{className:"mr-2 inline h-4 w-4"}),f instanceof Error?f.message:"Failed to parse Prisma schema"]}),r[11]=f,r[12]=m):m=r[12],a=(0,s.jsxs)("div",{className:"p-6",children:[t,c,m,!j&&!f&&0===b.length&&(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 rounded-xl border py-16 text-muted-foreground",children:[(0,s.jsx)(i,{className:"h-10 w-10 opacity-40"}),(0,s.jsx)("p",{className:"text-sm",children:"No Prisma models found in the schema."})]}),b.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("section",{className:"mb-6 grid gap-4 md:grid-cols-3",children:[(0,s.jsxs)("div",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("p",{className:"text-2xl font-bold",children:b.length}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Models"})]}),(0,s.jsxs)("div",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("p",{className:"text-2xl font-bold",children:y.length}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Relations"})]}),(0,s.jsxs)("div",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("p",{className:"text-2xl font-bold",children:v.length}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Enums"})]})]}),(0,s.jsxs)("section",{className:"mb-6 rounded-xl border bg-card p-4",children:[(0,s.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"font-semibold",children:"ERD Overview"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Model cards and relation edges derived from Prisma DMMF."})]}),(0,s.jsx)(d.CheckCircle2,{className:"h-5 w-5 text-emerald-500"})]}),(0,s.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:b.map(p)})]}),(0,s.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1fr)_360px]",children:[(0,s.jsx)("section",{className:"grid gap-4 lg:grid-cols-2",children:b.map(u)}),(0,s.jsxs)("aside",{className:"space-y-4",children:[(0,s.jsxs)("section",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("h2",{className:"font-semibold",children:"Relations"}),(0,s.jsxs)("div",{className:"mt-3 space-y-2",children:[0===y.length&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No model relations detected."}),y.map(h)]})]}),(0,s.jsxs)("section",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("h2",{className:"font-semibold",children:"Enums"}),(0,s.jsxs)("div",{className:"mt-3 space-y-2",children:[0===v.length&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No enums detected."}),v.map(o)]})]})]})]})]})]}),r[1]=x?.enums,r[2]=x?.models,r[3]=f,r[4]=j,r[5]=a}else a=r[5];return a}],66543)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95468,e=>{"use strict";let s=(0,e.i(75254).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,s],95468)},75407,e=>{"use strict";var s=e.i(43476),t=e.i(932),l=e.i(78894),d=e.i(95468),a=e.i(75254);let r=(0,a.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var n=e.i(78094);let i=(0,a.default)("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);var c=e.i(83599),m=e.i(35878);function o(e){return(0,s.jsxs)("div",{className:"rounded-lg border p-3",children:[(0,s.jsx)("p",{className:"font-mono text-xs font-semibold",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.values.map(x).join(", ")})]},e.name)}function x(e){return e.name}function h(e){return(0,s.jsxs)("div",{className:"rounded-lg border p-3 text-sm",children:[(0,s.jsxs)("p",{className:"font-mono text-xs",children:[e.from," -> ",e.to]}),(0,s.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["via ",e.field]})]},`${e.from}-${e.field}-${e.to}`)}function u(e){return(0,s.jsxs)("article",{className:"rounded-xl border bg-card p-4 shadow-sm",children:[(0,s.jsx)("h2",{className:"font-mono text-lg font-semibold",children:e.name}),(0,s.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b text-left text-xs text-muted-foreground",children:[(0,s.jsx)("th",{className:"pb-2 font-medium",children:"Field"}),(0,s.jsx)("th",{className:"pb-2 font-medium",children:"Type"}),(0,s.jsx)("th",{className:"pb-2 font-medium",children:"Constraints"})]})}),(0,s.jsx)("tbody",{className:"divide-y",children:e.fields.map(f)})]})})]},e.name)}function f(e){let t,l=(t=[],e.isId&&t.push("id"),e.isUnique&&t.push("unique"),e.isList&&t.push("list"),e.isRequired||t.push("optional"),t);return(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"py-2 font-mono text-xs",children:e.name}),(0,s.jsxs)("td",{className:"py-2 font-mono text-xs text-muted-foreground",children:[e.type,e.isList?"[]":""]}),(0,s.jsx)("td",{className:"py-2",children:(0,s.jsxs)("div",{className:"flex flex-wrap gap-1",children:[0===l.length&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"required"}),l.map(t=>(0,s.jsx)("span",{className:"rounded-full bg-muted px-1.5 py-0.5 text-xs",children:t},`${e.name}-${t}`))]})})]},e.name)}function p(e){return(0,s.jsxs)("div",{className:"rounded-lg border bg-background p-4",children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsx)("h3",{className:"font-mono text-sm font-semibold",children:e.name}),(0,s.jsxs)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-xs text-primary",children:[e.fields.length," fields"]})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[e.fields.slice(0,6).map(j),e.fields.length>6&&(0,s.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:[e.fields.length-6," more fields"]})]})]},e.name)}function j(e){return(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs",children:[(0,s.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[e.isId&&(0,s.jsx)(r,{className:"h-3 w-3 shrink-0 text-yellow-500"}),(0,s.jsx)("span",{className:"truncate font-mono",children:e.name})]}),(0,s.jsx)("span",{className:"shrink-0 text-muted-foreground",children:e.type})]},e.name)}function g(e){return(0,s.jsx)("div",{className:"h-64 animate-pulse rounded-xl bg-muted"},e)}function N(e){return e.fields.filter(e=>"object"===e.kind).map(s=>({from:e.name,to:s.type,field:s.name}))}e.s(["default",0,function(){let e,a,r=(0,t.c)(13);r[0]===Symbol.for("react.memo_cache_sentinel")?(e={refreshInterval:6e4},r[0]=e):e=r[0];let{data:x,error:f,isLoading:j}=(0,c.default)(m.SWR_KEYS.schema,m.fetchSchema,e);if(r[1]!==x?.enums||r[2]!==x?.models||r[3]!==f||r[4]!==j){let e,t,c,m,b=x?.models??[];r[6]!==x?.enums?(e=x?.enums??[],r[6]=x?.enums,r[7]=e):e=r[7];let v=e,y=b.flatMap(N);r[8]===Symbol.for("react.memo_cache_sentinel")?(t=(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsxs)("h1",{className:"flex items-center gap-2 text-2xl font-bold",children:[(0,s.jsx)(n.Network,{className:"h-6 w-6"})," Schema Explorer"]}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Visualize Prisma models, fields, relations, enums, indexes, and constraints."})]}),r[8]=t):t=r[8],r[9]!==j?(c=j&&(0,s.jsx)("div",{className:"grid gap-4 lg:grid-cols-2",children:[1,2,3,4].map(g)}),r[9]=j,r[10]=c):c=r[10],r[11]!==f?(m=f&&(0,s.jsxs)("div",{className:"rounded-lg border border-destructive/40 bg-destructive/10 p-4 text-destructive",children:[(0,s.jsx)(l.AlertTriangle,{className:"mr-2 inline h-4 w-4"}),f instanceof Error?f.message:"Failed to parse Prisma schema"]}),r[11]=f,r[12]=m):m=r[12],a=(0,s.jsxs)("div",{className:"p-6",children:[t,c,m,!j&&!f&&0===b.length&&(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 rounded-xl border py-16 text-muted-foreground",children:[(0,s.jsx)(i,{className:"h-10 w-10 opacity-40"}),(0,s.jsx)("p",{className:"text-sm",children:"No Prisma models found in the schema."})]}),b.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("section",{className:"mb-6 grid gap-4 md:grid-cols-3",children:[(0,s.jsxs)("div",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("p",{className:"text-2xl font-bold",children:b.length}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Models"})]}),(0,s.jsxs)("div",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("p",{className:"text-2xl font-bold",children:y.length}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Relations"})]}),(0,s.jsxs)("div",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("p",{className:"text-2xl font-bold",children:v.length}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Enums"})]})]}),(0,s.jsxs)("section",{className:"mb-6 rounded-xl border bg-card p-4",children:[(0,s.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"font-semibold",children:"ERD Overview"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Model cards and relation edges derived from Prisma DMMF."})]}),(0,s.jsx)(d.CheckCircle2,{className:"h-5 w-5 text-emerald-500"})]}),(0,s.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:b.map(p)})]}),(0,s.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1fr)_360px]",children:[(0,s.jsx)("section",{className:"grid gap-4 lg:grid-cols-2",children:b.map(u)}),(0,s.jsxs)("aside",{className:"space-y-4",children:[(0,s.jsxs)("section",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("h2",{className:"font-semibold",children:"Relations"}),(0,s.jsxs)("div",{className:"mt-3 space-y-2",children:[0===y.length&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No model relations detected."}),y.map(h)]})]}),(0,s.jsxs)("section",{className:"rounded-xl border bg-card p-4",children:[(0,s.jsx)("h2",{className:"font-semibold",children:"Enums"}),(0,s.jsxs)("div",{className:"mt-3 space-y-2",children:[0===v.length&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No enums detected."}),v.map(o)]})]})]})]})]})]}),r[1]=x?.enums,r[2]=x?.models,r[3]=f,r[4]=j,r[5]=a}else a=r[5];return a}],75407)}]);