gencow 0.1.14 → 0.1.16

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 (96) hide show
  1. package/bin/gencow.mjs +44 -0
  2. package/dashboard/404/index.html +1 -1
  3. package/dashboard/404.html +1 -1
  4. package/dashboard/__next.__PAGE__.txt +1 -1
  5. package/dashboard/__next._full.txt +1 -1
  6. package/dashboard/__next._head.txt +1 -1
  7. package/dashboard/__next._index.txt +1 -1
  8. package/dashboard/__next._tree.txt +1 -1
  9. package/dashboard/_next/static/chunks/{a6d4e29fef94fdae.js → 2f7fb3e85e932cda.js} +1 -1
  10. package/dashboard/_next/static/chunks/8405a37f6e78c6fe.js +1 -0
  11. package/dashboard/_next/static/chunks/{5b9b63f901e3a179.js → b53d8107e0864607.js} +1 -1
  12. package/dashboard/_next/static/chunks/c306fa0e301f7e53.js +1 -0
  13. package/dashboard/_next/static/chunks/cdf042c6c74b5110.js +1 -0
  14. package/dashboard/_next/static/chunks/dbb8e079c2a14288.js +1 -0
  15. package/dashboard/_next/static/chunks/dd5b8d905cbcd0e1.js +1 -0
  16. package/dashboard/_next/static/chunks/de03e99a1076d0b0.js +1 -0
  17. package/dashboard/_next/static/chunks/f652ed4293e209dc.js +1 -0
  18. package/dashboard/_not-found/__next._full.txt +1 -1
  19. package/dashboard/_not-found/__next._head.txt +1 -1
  20. package/dashboard/_not-found/__next._index.txt +1 -1
  21. package/dashboard/_not-found/__next._not-found.__PAGE__.txt +1 -1
  22. package/dashboard/_not-found/__next._not-found.txt +1 -1
  23. package/dashboard/_not-found/__next._tree.txt +1 -1
  24. package/dashboard/_not-found/index.html +1 -1
  25. package/dashboard/_not-found/index.txt +1 -1
  26. package/dashboard/auth/__next._full.txt +2 -2
  27. package/dashboard/auth/__next._head.txt +1 -1
  28. package/dashboard/auth/__next._index.txt +1 -1
  29. package/dashboard/auth/__next._tree.txt +1 -1
  30. package/dashboard/auth/__next.auth.__PAGE__.txt +2 -2
  31. package/dashboard/auth/__next.auth.txt +1 -1
  32. package/dashboard/auth/index.html +1 -1
  33. package/dashboard/auth/index.txt +2 -2
  34. package/dashboard/data/__next._full.txt +2 -2
  35. package/dashboard/data/__next._head.txt +1 -1
  36. package/dashboard/data/__next._index.txt +1 -1
  37. package/dashboard/data/__next._tree.txt +1 -1
  38. package/dashboard/data/__next.data.__PAGE__.txt +2 -2
  39. package/dashboard/data/__next.data.txt +1 -1
  40. package/dashboard/data/index.html +1 -1
  41. package/dashboard/data/index.txt +2 -2
  42. package/dashboard/files/__next._full.txt +2 -2
  43. package/dashboard/files/__next._head.txt +1 -1
  44. package/dashboard/files/__next._index.txt +1 -1
  45. package/dashboard/files/__next._tree.txt +1 -1
  46. package/dashboard/files/__next.files.__PAGE__.txt +2 -2
  47. package/dashboard/files/__next.files.txt +1 -1
  48. package/dashboard/files/index.html +1 -1
  49. package/dashboard/files/index.txt +2 -2
  50. package/dashboard/functions/__next._full.txt +2 -2
  51. package/dashboard/functions/__next._head.txt +1 -1
  52. package/dashboard/functions/__next._index.txt +1 -1
  53. package/dashboard/functions/__next._tree.txt +1 -1
  54. package/dashboard/functions/__next.functions.__PAGE__.txt +2 -2
  55. package/dashboard/functions/__next.functions.txt +1 -1
  56. package/dashboard/functions/index.html +1 -1
  57. package/dashboard/functions/index.txt +2 -2
  58. package/dashboard/index.html +1 -1
  59. package/dashboard/index.txt +1 -1
  60. package/dashboard/logs/__next._full.txt +2 -2
  61. package/dashboard/logs/__next._head.txt +1 -1
  62. package/dashboard/logs/__next._index.txt +1 -1
  63. package/dashboard/logs/__next._tree.txt +1 -1
  64. package/dashboard/logs/__next.logs.__PAGE__.txt +2 -2
  65. package/dashboard/logs/__next.logs.txt +1 -1
  66. package/dashboard/logs/index.html +1 -1
  67. package/dashboard/logs/index.txt +2 -2
  68. package/dashboard/scheduler/__next._full.txt +2 -2
  69. package/dashboard/scheduler/__next._head.txt +1 -1
  70. package/dashboard/scheduler/__next._index.txt +1 -1
  71. package/dashboard/scheduler/__next._tree.txt +1 -1
  72. package/dashboard/scheduler/__next.scheduler.__PAGE__.txt +2 -2
  73. package/dashboard/scheduler/__next.scheduler.txt +1 -1
  74. package/dashboard/scheduler/index.html +1 -1
  75. package/dashboard/scheduler/index.txt +2 -2
  76. package/dashboard/settings/__next._full.txt +3 -3
  77. package/dashboard/settings/__next._head.txt +1 -1
  78. package/dashboard/settings/__next._index.txt +1 -1
  79. package/dashboard/settings/__next._tree.txt +1 -1
  80. package/dashboard/settings/__next.settings.__PAGE__.txt +3 -3
  81. package/dashboard/settings/__next.settings.txt +1 -1
  82. package/dashboard/settings/index.html +1 -1
  83. package/dashboard/settings/index.txt +3 -3
  84. package/package.json +1 -1
  85. package/server/index.js +80 -9
  86. package/server/index.js.map +3 -3
  87. package/dashboard/_next/static/chunks/46e5e8d7b7abb32f.js +0 -1
  88. package/dashboard/_next/static/chunks/6dd7133fff916008.js +0 -1
  89. package/dashboard/_next/static/chunks/6faf0a47507abee5.js +0 -1
  90. package/dashboard/_next/static/chunks/806eb71c7bda3038.js +0 -1
  91. package/dashboard/_next/static/chunks/bf1d0c48a304cdf5.js +0 -1
  92. package/dashboard/_next/static/chunks/ca7b9255bef4d853.js +0 -1
  93. package/dashboard/_next/static/chunks/d8490871b9f9d51f.js +0 -1
  94. /package/dashboard/_next/static/{7pe-AOGjyxk4S2bX5nhkB → LbqHle9Fc0EAIeQ_jBK9S}/_buildManifest.js +0 -0
  95. /package/dashboard/_next/static/{7pe-AOGjyxk4S2bX5nhkB → LbqHle9Fc0EAIeQ_jBK9S}/_clientMiddlewareManifest.json +0 -0
  96. /package/dashboard/_next/static/{7pe-AOGjyxk4S2bX5nhkB → LbqHle9Fc0EAIeQ_jBK9S}/_ssgManifest.js +0 -0
package/bin/gencow.mjs CHANGED
@@ -416,6 +416,20 @@ function generateReadmeMd(config, apiObj) {
416
416
  md += `await create({ title: "새 태스크" });\n`;
417
417
  md += `// → 서버가 WebSocket으로 useQuery를 자동 갱신 — fetchTasks() 같은 수동 리페치 불필요!\n`;
418
418
  md += `\`\`\`\n\n`;
419
+ md += `### 조건부 쿼리 (skip/enabled)\n\n`;
420
+ md += `선택된 항목이 없을 때 등 조건부로 쿼리를 건너뛰어야 할 때:\n\n`;
421
+ md += `\`\`\`typescript\n`;
422
+ md += `// 방법 A: "skip" 토큰 (Convex 스타일) — 추천\n`;
423
+ md += `const messages = useQuery(api.chat.getMessages,\n`;
424
+ md += ` conversationId ? { conversationId } : "skip"\n`;
425
+ md += `);\n\n`;
426
+ md += `// 방법 B: enabled 옵션 (TanStack Query 스타일)\n`;
427
+ md += `const messages = useQuery(api.chat.getMessages,\n`;
428
+ md += ` { conversationId },\n`;
429
+ md += ` { enabled: !!conversationId }\n`;
430
+ md += `);\n`;
431
+ md += `// → skip 상태에서는 API 호출 없이 undefined 반환\n`;
432
+ md += `\`\`\`\n\n`;
419
433
 
420
434
  // ── 1-2. Auth ────────────────────────────────────────────
421
435
  md += `---\n\n## 🔐 인증 (better-auth, 세션 기반)\n\n`;
@@ -563,6 +577,34 @@ function generateReadmeMd(config, apiObj) {
563
577
 
564
578
  // ─── DB Backup Helpers ────────────────────────────────────
565
579
 
580
+ // ─── Deploy → .env.local 자동 업데이트 ────────────────────
581
+ function updateEnvLocalUrl(deployUrl) {
582
+ if (!deployUrl) return;
583
+ const envKey = "NEXT_PUBLIC_GENCOW_URL";
584
+ const envLocalPath = resolve(process.cwd(), ".env.local");
585
+
586
+ try {
587
+ let content = "";
588
+ try { content = readFileSync(envLocalPath, "utf-8"); } catch { /* doesn't exist yet */ }
589
+
590
+ const line = `${envKey}=${deployUrl}`;
591
+ const regex = new RegExp(`^${envKey}=.*$`, "m");
592
+
593
+ if (regex.test(content)) {
594
+ content = content.replace(regex, line);
595
+ } else {
596
+ content = content.trimEnd() + (content ? "\n" : "") + line + "\n";
597
+ }
598
+
599
+ writeFileSync(envLocalPath, content);
600
+ success(`.env.local에 ${envKey} 자동 설정됨`);
601
+ info(` ${DIM}Vercel/Netlify 배포 시 환경변수에도 추가하세요:${RESET}`);
602
+ info(` ${envKey}=${deployUrl}`);
603
+ } catch (e) {
604
+ warn(`.env.local 업데이트 실패: ${e.message}`);
605
+ }
606
+ }
607
+
566
608
  function cleanupOldBackups(backupDir, keep = 3) {
567
609
  try {
568
610
  const entries = readdirSync(backupDir)
@@ -1573,6 +1615,7 @@ ${BOLD}Examples:${RESET}
1573
1615
  success(`배포 완료!`);
1574
1616
  info(`URL: ${retryData.url}`);
1575
1617
  info(`Hash: ${retryData.bundleHash}`);
1618
+ updateEnvLocalUrl(retryData.url);
1576
1619
  log("");
1577
1620
  return;
1578
1621
  }
@@ -1588,6 +1631,7 @@ ${BOLD}Examples:${RESET}
1588
1631
  info(`URL: ${deployData.url}`);
1589
1632
  info(`Hash: ${deployData.bundleHash}`);
1590
1633
  if (deployData.deployId) info(`ID: ${deployData.deployId}`);
1634
+ updateEnvLocalUrl(deployData.url);
1591
1635
  log("");
1592
1636
 
1593
1637
  // gencow.json 업데이트 (앱 이름 저장)
@@ -1 +1 @@
1
- <!DOCTYPE html><!--7pe_AOGjyxk4S2bX5nhkB--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_dashboard/_next/static/chunks/d63d5908e48bea60.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_dashboard/_next/static/chunks/69c2a0d587153425.js"/><script src="/_dashboard/_next/static/chunks/6fa4d7b0382eb69a.js" async=""></script><script src="/_dashboard/_next/static/chunks/35f92271baf1e273.js" async=""></script><script src="/_dashboard/_next/static/chunks/260e9d64f07248c4.js" async=""></script><script src="/_dashboard/_next/static/chunks/turbopack-00aed88e1fb5f17d.js" async=""></script><script src="/_dashboard/_next/static/chunks/544729b1d14e133f.js" async=""></script><script src="/_dashboard/_next/static/chunks/967d50dc43e363ee.js" async=""></script><script src="/_dashboard/_next/static/chunks/5f1dc5123f43f954.js" async=""></script><script src="/_dashboard/_next/static/chunks/29f56225c1ab40ff.js" async=""></script><script src="/_dashboard/_next/static/chunks/8157631bf108576e.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Gencow Dashboard</title><meta name="description" content="Gencow — Backend Platform Dashboard"/><link rel="icon" href="/_dashboard/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_dashboard/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,true,true)</script><div class="flex h-screen bg-background text-foreground"><aside class="flex h-screen w-60 flex-col border-r border-border bg-card"><div class="flex items-center gap-2 border-b border-border px-4 py-4"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-primary"><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-zap h-4 w-4 text-primary-foreground" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-sm font-bold">Gencow</h1><p class="text-xs text-muted-foreground">Dashboard</p></div></div><nav class="flex flex-1 flex-col gap-1 p-2"><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/data/"><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" 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>Data</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/functions/"><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-code-xml h-4 w-4" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>Functions</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/logs/"><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-scroll-text h-4 w-4" aria-hidden="true"><path d="M15 12h-5"></path><path d="M15 8h-5"></path><path d="M19 17V5a2 2 0 0 0-2-2H4"></path><path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"></path></svg>Logs</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/files/"><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-file-box h-4 w-4" aria-hidden="true"><path d="M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M11.7 14.2 7 17l-4.7-2.8"></path><path d="M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01z"></path><path d="M7 17v5"></path></svg>File Storage</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/scheduler/"><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-clock h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg>Scheduler</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/auth/"><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-users h-4 w-4" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg>Auth</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/settings/"><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-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>Settings</a></nav><div class="border-t border-border p-3 space-y-2"><div class="flex items-center justify-between"><div class="flex items-center gap-2 text-xs text-muted-foreground"><div class="h-2 w-2 rounded-full bg-green-500"></div>Connected</div><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9 h-8 w-8"><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-sun h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg></button></div><button class="flex w-full items-center gap-2 rounded-md border border-border px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground transition-colors"><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-search h-3 w-3" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="flex-1 text-left">Search...</span><kbd class="rounded border border-border bg-muted px-1 text-[10px]">⌘K</kbd></button></div></aside><main class="flex-1 overflow-hidden"><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><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_dashboard/_next/static/chunks/69c2a0d587153425.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[86849,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"ThemeProvider\"]\n3:I[42570,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Sidebar\"]\n4:I[66072,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n5:I[70488,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n6:I[72306,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"CommandPalette\"]\n7:I[54219,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Toaster\"]\n8:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"ViewportBoundary\"]\nd:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"MetadataBoundary\"]\nf:I[79154,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n:HL[\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"7pe-AOGjyxk4S2bX5nhkB\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-screen bg-background text-foreground\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-hidden\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"theme\":\"dark\",\"position\":\"bottom-right\",\"richColors\":true,\"closeButton\":true,\"style\":{\"zIndex\":50},\"toastOptions\":{\"style\":{\"background\":\"var(--card)\",\"border\":\"1px solid var(--border)\",\"color\":\"var(--foreground)\",\"opacity\":1}}}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:0: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:0: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:0: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:0: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,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[48669,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"IconMark\"]\na:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Gencow Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Gencow — Backend Platform Dashboard\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/_dashboard/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L10\",\"3\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--LbqHle9Fc0EAIeQ_jBK9S--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_dashboard/_next/static/chunks/d63d5908e48bea60.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_dashboard/_next/static/chunks/69c2a0d587153425.js"/><script src="/_dashboard/_next/static/chunks/6fa4d7b0382eb69a.js" async=""></script><script src="/_dashboard/_next/static/chunks/35f92271baf1e273.js" async=""></script><script src="/_dashboard/_next/static/chunks/260e9d64f07248c4.js" async=""></script><script src="/_dashboard/_next/static/chunks/turbopack-00aed88e1fb5f17d.js" async=""></script><script src="/_dashboard/_next/static/chunks/544729b1d14e133f.js" async=""></script><script src="/_dashboard/_next/static/chunks/967d50dc43e363ee.js" async=""></script><script src="/_dashboard/_next/static/chunks/5f1dc5123f43f954.js" async=""></script><script src="/_dashboard/_next/static/chunks/29f56225c1ab40ff.js" async=""></script><script src="/_dashboard/_next/static/chunks/8157631bf108576e.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Gencow Dashboard</title><meta name="description" content="Gencow — Backend Platform Dashboard"/><link rel="icon" href="/_dashboard/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_dashboard/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,true,true)</script><div class="flex h-screen bg-background text-foreground"><aside class="flex h-screen w-60 flex-col border-r border-border bg-card"><div class="flex items-center gap-2 border-b border-border px-4 py-4"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-primary"><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-zap h-4 w-4 text-primary-foreground" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-sm font-bold">Gencow</h1><p class="text-xs text-muted-foreground">Dashboard</p></div></div><nav class="flex flex-1 flex-col gap-1 p-2"><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/data/"><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" 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>Data</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/functions/"><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-code-xml h-4 w-4" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>Functions</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/logs/"><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-scroll-text h-4 w-4" aria-hidden="true"><path d="M15 12h-5"></path><path d="M15 8h-5"></path><path d="M19 17V5a2 2 0 0 0-2-2H4"></path><path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"></path></svg>Logs</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/files/"><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-file-box h-4 w-4" aria-hidden="true"><path d="M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M11.7 14.2 7 17l-4.7-2.8"></path><path d="M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01z"></path><path d="M7 17v5"></path></svg>File Storage</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/scheduler/"><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-clock h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg>Scheduler</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/auth/"><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-users h-4 w-4" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg>Auth</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/settings/"><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-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>Settings</a></nav><div class="border-t border-border p-3 space-y-2"><div class="flex items-center justify-between"><div class="flex items-center gap-2 text-xs text-muted-foreground"><div class="h-2 w-2 rounded-full bg-green-500"></div>Connected</div><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9 h-8 w-8"><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-sun h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg></button></div><button class="flex w-full items-center gap-2 rounded-md border border-border px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground transition-colors"><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-search h-3 w-3" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="flex-1 text-left">Search...</span><kbd class="rounded border border-border bg-muted px-1 text-[10px]">⌘K</kbd></button></div></aside><main class="flex-1 overflow-hidden"><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><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_dashboard/_next/static/chunks/69c2a0d587153425.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[86849,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"ThemeProvider\"]\n3:I[42570,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Sidebar\"]\n4:I[66072,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n5:I[70488,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n6:I[72306,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"CommandPalette\"]\n7:I[54219,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Toaster\"]\n8:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"ViewportBoundary\"]\nd:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"MetadataBoundary\"]\nf:I[79154,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n:HL[\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"LbqHle9Fc0EAIeQ_jBK9S\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-screen bg-background text-foreground\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-hidden\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"theme\":\"dark\",\"position\":\"bottom-right\",\"richColors\":true,\"closeButton\":true,\"style\":{\"zIndex\":50},\"toastOptions\":{\"style\":{\"background\":\"var(--card)\",\"border\":\"1px solid var(--border)\",\"color\":\"var(--foreground)\",\"opacity\":1}}}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:0: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:0: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:0: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:0: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,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[48669,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"IconMark\"]\na:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Gencow Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Gencow — Backend Platform Dashboard\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/_dashboard/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L10\",\"3\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><!--7pe_AOGjyxk4S2bX5nhkB--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_dashboard/_next/static/chunks/d63d5908e48bea60.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_dashboard/_next/static/chunks/69c2a0d587153425.js"/><script src="/_dashboard/_next/static/chunks/6fa4d7b0382eb69a.js" async=""></script><script src="/_dashboard/_next/static/chunks/35f92271baf1e273.js" async=""></script><script src="/_dashboard/_next/static/chunks/260e9d64f07248c4.js" async=""></script><script src="/_dashboard/_next/static/chunks/turbopack-00aed88e1fb5f17d.js" async=""></script><script src="/_dashboard/_next/static/chunks/544729b1d14e133f.js" async=""></script><script src="/_dashboard/_next/static/chunks/967d50dc43e363ee.js" async=""></script><script src="/_dashboard/_next/static/chunks/5f1dc5123f43f954.js" async=""></script><script src="/_dashboard/_next/static/chunks/29f56225c1ab40ff.js" async=""></script><script src="/_dashboard/_next/static/chunks/8157631bf108576e.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Gencow Dashboard</title><meta name="description" content="Gencow — Backend Platform Dashboard"/><link rel="icon" href="/_dashboard/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_dashboard/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,true,true)</script><div class="flex h-screen bg-background text-foreground"><aside class="flex h-screen w-60 flex-col border-r border-border bg-card"><div class="flex items-center gap-2 border-b border-border px-4 py-4"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-primary"><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-zap h-4 w-4 text-primary-foreground" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-sm font-bold">Gencow</h1><p class="text-xs text-muted-foreground">Dashboard</p></div></div><nav class="flex flex-1 flex-col gap-1 p-2"><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/data/"><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" 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>Data</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/functions/"><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-code-xml h-4 w-4" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>Functions</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/logs/"><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-scroll-text h-4 w-4" aria-hidden="true"><path d="M15 12h-5"></path><path d="M15 8h-5"></path><path d="M19 17V5a2 2 0 0 0-2-2H4"></path><path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"></path></svg>Logs</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/files/"><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-file-box h-4 w-4" aria-hidden="true"><path d="M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M11.7 14.2 7 17l-4.7-2.8"></path><path d="M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01z"></path><path d="M7 17v5"></path></svg>File Storage</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/scheduler/"><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-clock h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg>Scheduler</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/auth/"><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-users h-4 w-4" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg>Auth</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/settings/"><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-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>Settings</a></nav><div class="border-t border-border p-3 space-y-2"><div class="flex items-center justify-between"><div class="flex items-center gap-2 text-xs text-muted-foreground"><div class="h-2 w-2 rounded-full bg-green-500"></div>Connected</div><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9 h-8 w-8"><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-sun h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg></button></div><button class="flex w-full items-center gap-2 rounded-md border border-border px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground transition-colors"><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-search h-3 w-3" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="flex-1 text-left">Search...</span><kbd class="rounded border border-border bg-muted px-1 text-[10px]">⌘K</kbd></button></div></aside><main class="flex-1 overflow-hidden"><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><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_dashboard/_next/static/chunks/69c2a0d587153425.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[86849,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"ThemeProvider\"]\n3:I[42570,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Sidebar\"]\n4:I[66072,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n5:I[70488,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n6:I[72306,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"CommandPalette\"]\n7:I[54219,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Toaster\"]\n8:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"ViewportBoundary\"]\nd:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"MetadataBoundary\"]\nf:I[79154,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n:HL[\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"7pe-AOGjyxk4S2bX5nhkB\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-screen bg-background text-foreground\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-hidden\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"theme\":\"dark\",\"position\":\"bottom-right\",\"richColors\":true,\"closeButton\":true,\"style\":{\"zIndex\":50},\"toastOptions\":{\"style\":{\"background\":\"var(--card)\",\"border\":\"1px solid var(--border)\",\"color\":\"var(--foreground)\",\"opacity\":1}}}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:0: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:0: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:0: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:0: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,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[48669,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"IconMark\"]\na:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Gencow Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Gencow — Backend Platform Dashboard\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/_dashboard/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L10\",\"3\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--LbqHle9Fc0EAIeQ_jBK9S--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_dashboard/_next/static/chunks/d63d5908e48bea60.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_dashboard/_next/static/chunks/69c2a0d587153425.js"/><script src="/_dashboard/_next/static/chunks/6fa4d7b0382eb69a.js" async=""></script><script src="/_dashboard/_next/static/chunks/35f92271baf1e273.js" async=""></script><script src="/_dashboard/_next/static/chunks/260e9d64f07248c4.js" async=""></script><script src="/_dashboard/_next/static/chunks/turbopack-00aed88e1fb5f17d.js" async=""></script><script src="/_dashboard/_next/static/chunks/544729b1d14e133f.js" async=""></script><script src="/_dashboard/_next/static/chunks/967d50dc43e363ee.js" async=""></script><script src="/_dashboard/_next/static/chunks/5f1dc5123f43f954.js" async=""></script><script src="/_dashboard/_next/static/chunks/29f56225c1ab40ff.js" async=""></script><script src="/_dashboard/_next/static/chunks/8157631bf108576e.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Gencow Dashboard</title><meta name="description" content="Gencow — Backend Platform Dashboard"/><link rel="icon" href="/_dashboard/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_dashboard/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,true,true)</script><div class="flex h-screen bg-background text-foreground"><aside class="flex h-screen w-60 flex-col border-r border-border bg-card"><div class="flex items-center gap-2 border-b border-border px-4 py-4"><div class="flex h-8 w-8 items-center justify-center rounded-lg bg-primary"><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-zap h-4 w-4 text-primary-foreground" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h1 class="text-sm font-bold">Gencow</h1><p class="text-xs text-muted-foreground">Dashboard</p></div></div><nav class="flex flex-1 flex-col gap-1 p-2"><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/data/"><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" 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>Data</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/functions/"><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-code-xml h-4 w-4" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>Functions</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/logs/"><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-scroll-text h-4 w-4" aria-hidden="true"><path d="M15 12h-5"></path><path d="M15 8h-5"></path><path d="M19 17V5a2 2 0 0 0-2-2H4"></path><path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"></path></svg>Logs</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/files/"><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-file-box h-4 w-4" aria-hidden="true"><path d="M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M11.7 14.2 7 17l-4.7-2.8"></path><path d="M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01z"></path><path d="M7 17v5"></path></svg>File Storage</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/scheduler/"><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-clock h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg>Scheduler</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/auth/"><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-users h-4 w-4" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg>Auth</a><a class="flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/_dashboard/settings/"><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-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>Settings</a></nav><div class="border-t border-border p-3 space-y-2"><div class="flex items-center justify-between"><div class="flex items-center gap-2 text-xs text-muted-foreground"><div class="h-2 w-2 rounded-full bg-green-500"></div>Connected</div><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9 h-8 w-8"><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-sun h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg></button></div><button class="flex w-full items-center gap-2 rounded-md border border-border px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground transition-colors"><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-search h-3 w-3" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="flex-1 text-left">Search...</span><kbd class="rounded border border-border bg-muted px-1 text-[10px]">⌘K</kbd></button></div></aside><main class="flex-1 overflow-hidden"><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><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_dashboard/_next/static/chunks/69c2a0d587153425.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[86849,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"ThemeProvider\"]\n3:I[42570,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Sidebar\"]\n4:I[66072,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n5:I[70488,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n6:I[72306,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"CommandPalette\"]\n7:I[54219,[\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\"],\"Toaster\"]\n8:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"ViewportBoundary\"]\nd:I[7449,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"MetadataBoundary\"]\nf:I[79154,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"default\"]\n:HL[\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"LbqHle9Fc0EAIeQ_jBK9S\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_dashboard/_next/static/chunks/d63d5908e48bea60.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_dashboard/_next/static/chunks/544729b1d14e133f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_dashboard/_next/static/chunks/967d50dc43e363ee.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-screen bg-background text-foreground\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-hidden\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"theme\":\"dark\",\"position\":\"bottom-right\",\"richColors\":true,\"closeButton\":true,\"style\":{\"zIndex\":50},\"toastOptions\":{\"style\":{\"background\":\"var(--card)\",\"border\":\"1px solid var(--border)\",\"color\":\"var(--foreground)\",\"opacity\":1}}}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:0: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:0: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:0: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:0: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,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[48669,[\"/_dashboard/_next/static/chunks/29f56225c1ab40ff.js\",\"/_dashboard/_next/static/chunks/8157631bf108576e.js\"],\"IconMark\"]\na:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Gencow Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Gencow — Backend Platform Dashboard\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/_dashboard/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L10\",\"3\",{}]]\n"])</script></body></html>
@@ -1,6 +1,6 @@
1
1
  1:"$Sreact.fragment"
2
2
  3:I[7449,["/_dashboard/_next/static/chunks/29f56225c1ab40ff.js","/_dashboard/_next/static/chunks/8157631bf108576e.js"],"OutletBoundary"]
3
3
  4:"$Sreact.suspense"
4
- 0:{"buildId":"7pe-AOGjyxk4S2bX5nhkB","rsc":["$","$1","c",{"children":["$L2",null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"loading":null,"isPartial":false}
4
+ 0:{"buildId":"LbqHle9Fc0EAIeQ_jBK9S","rsc":["$","$1","c",{"children":["$L2",null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"loading":null,"isPartial":false}
5
5
  5:null
6
6
  2:E{"digest":"NEXT_REDIRECT;replace;/data;307;"}
@@ -11,7 +11,7 @@ c:I[7449,["/_dashboard/_next/static/chunks/29f56225c1ab40ff.js","/_dashboard/_ne
11
11
  e:I[7449,["/_dashboard/_next/static/chunks/29f56225c1ab40ff.js","/_dashboard/_next/static/chunks/8157631bf108576e.js"],"MetadataBoundary"]
12
12
  10:I[79154,[],"default"]
13
13
  :HL["/_dashboard/_next/static/chunks/d63d5908e48bea60.css","style"]
14
- 0:{"P":null,"b":"7pe-AOGjyxk4S2bX5nhkB","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_dashboard/_next/static/chunks/d63d5908e48bea60.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_dashboard/_next/static/chunks/544729b1d14e133f.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_dashboard/_next/static/chunks/967d50dc43e363ee.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased","children":["$","$L2",null,{"children":[["$","div",null,{"className":"flex h-screen bg-background text-foreground","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-hidden","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],["$","$L6",null,{}],["$","$L7",null,{"theme":"dark","position":"bottom-right","richColors":true,"closeButton":true,"style":{"zIndex":50},"toastOptions":{"style":{"background":"var(--card)","border":"1px solid var(--border)","color":"var(--foreground)","opacity":1}}}]]}]}]}]]}],{"children":[["$","$1","c",{"children":["$L8",null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,false]},null,false,false],["$","$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",[]],"S":true}
14
+ 0:{"P":null,"b":"LbqHle9Fc0EAIeQ_jBK9S","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_dashboard/_next/static/chunks/d63d5908e48bea60.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_dashboard/_next/static/chunks/544729b1d14e133f.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_dashboard/_next/static/chunks/967d50dc43e363ee.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased","children":["$","$L2",null,{"children":[["$","div",null,{"className":"flex h-screen bg-background text-foreground","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-hidden","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],["$","$L6",null,{}],["$","$L7",null,{"theme":"dark","position":"bottom-right","richColors":true,"closeButton":true,"style":{"zIndex":50},"toastOptions":{"style":{"background":"var(--card)","border":"1px solid var(--border)","color":"var(--foreground)","opacity":1}}}]]}]}]}]]}],{"children":[["$","$1","c",{"children":["$L8",null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,false]},null,false,false],["$","$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",[]],"S":true}
15
15
  8:E{"digest":"NEXT_REDIRECT;replace;/data;307;"}
16
16
  d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
17
17
  11:I[48669,["/_dashboard/_next/static/chunks/29f56225c1ab40ff.js","/_dashboard/_next/static/chunks/8157631bf108576e.js"],"IconMark"]
@@ -3,4 +3,4 @@
3
3
  3:I[7449,["/_dashboard/_next/static/chunks/29f56225c1ab40ff.js","/_dashboard/_next/static/chunks/8157631bf108576e.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[48669,["/_dashboard/_next/static/chunks/29f56225c1ab40ff.js","/_dashboard/_next/static/chunks/8157631bf108576e.js"],"IconMark"]
6
- 0:{"buildId":"7pe-AOGjyxk4S2bX5nhkB","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Gencow Dashboard"}],["$","meta","1",{"name":"description","content":"Gencow — Backend Platform Dashboard"}],["$","link","2",{"rel":"icon","href":"/_dashboard/favicon.ico?favicon.0b3bf435.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","3",{}]]}]}]}],null]}],"loading":null,"isPartial":false}
6
+ 0:{"buildId":"LbqHle9Fc0EAIeQ_jBK9S","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Gencow Dashboard"}],["$","meta","1",{"name":"description","content":"Gencow — Backend Platform Dashboard"}],["$","link","2",{"rel":"icon","href":"/_dashboard/favicon.ico?favicon.0b3bf435.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","3",{}]]}]}]}],null]}],"loading":null,"isPartial":false}
@@ -6,4 +6,4 @@
6
6
  6:I[72306,["/_dashboard/_next/static/chunks/544729b1d14e133f.js","/_dashboard/_next/static/chunks/967d50dc43e363ee.js","/_dashboard/_next/static/chunks/5f1dc5123f43f954.js"],"CommandPalette"]
7
7
  7:I[54219,["/_dashboard/_next/static/chunks/544729b1d14e133f.js","/_dashboard/_next/static/chunks/967d50dc43e363ee.js","/_dashboard/_next/static/chunks/5f1dc5123f43f954.js"],"Toaster"]
8
8
  :HL["/_dashboard/_next/static/chunks/d63d5908e48bea60.css","style"]
9
- 0:{"buildId":"7pe-AOGjyxk4S2bX5nhkB","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_dashboard/_next/static/chunks/d63d5908e48bea60.css","precedence":"next"}],["$","script","script-0",{"src":"/_dashboard/_next/static/chunks/544729b1d14e133f.js","async":true}],["$","script","script-1",{"src":"/_dashboard/_next/static/chunks/967d50dc43e363ee.js","async":true}],["$","script","script-2",{"src":"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased","children":["$","$L2",null,{"children":[["$","div",null,{"className":"flex h-screen bg-background text-foreground","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-hidden","children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",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."}]}]]}]}]],[]]}]}]]}],["$","$L6",null,{}],["$","$L7",null,{"theme":"dark","position":"bottom-right","richColors":true,"closeButton":true,"style":{"zIndex":50},"toastOptions":{"style":{"background":"var(--card)","border":"1px solid var(--border)","color":"var(--foreground)","opacity":1}}}]]}]}]}]]}],"loading":null,"isPartial":false}
9
+ 0:{"buildId":"LbqHle9Fc0EAIeQ_jBK9S","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_dashboard/_next/static/chunks/d63d5908e48bea60.css","precedence":"next"}],["$","script","script-0",{"src":"/_dashboard/_next/static/chunks/544729b1d14e133f.js","async":true}],["$","script","script-1",{"src":"/_dashboard/_next/static/chunks/967d50dc43e363ee.js","async":true}],["$","script","script-2",{"src":"/_dashboard/_next/static/chunks/5f1dc5123f43f954.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased","children":["$","$L2",null,{"children":[["$","div",null,{"className":"flex h-screen bg-background text-foreground","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-hidden","children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",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."}]}]]}]}]],[]]}]}]]}],["$","$L6",null,{}],["$","$L7",null,{"theme":"dark","position":"bottom-right","richColors":true,"closeButton":true,"style":{"zIndex":50},"toastOptions":{"style":{"background":"var(--card)","border":"1px solid var(--border)","color":"var(--foreground)","opacity":1}}}]]}]}]}]]}],"loading":null,"isPartial":false}
@@ -1,2 +1,2 @@
1
1
  :HL["/_dashboard/_next/static/chunks/d63d5908e48bea60.css","style"]
2
- 0:{"buildId":"7pe-AOGjyxk4S2bX5nhkB","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
2
+ 0:{"buildId":"LbqHle9Fc0EAIeQ_jBK9S","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50340,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let r=e.r(47546);function l({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},33015,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},34071,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return i}});let r=e.r(13274),l=e.r(94030),o=e.r(21310),u=e.r(33015),a=e.r(92245);function i({moduleIds:e}){if("u">typeof window)return null;let t=o.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;n.push(...e)}}if(0===n.length)return null;let i=(0,a.getDeploymentIdQueryOrEmptyString)();return(0,r.jsx)(r.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,u.encodeURIPath)(e)}${i}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,l.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},24307,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return s}});let r=e.r(13274),l=e.r(62667),o=e.r(50340),u=e.r(34071);function a(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},s=function(e){let t={...i,...e},n=(0,l.lazy)(()=>t.loader().then(a)),s=t.loading;function d(e){let a=s?(0,r.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,d=i?l.Suspense:l.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(u.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(o.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...i?{fallback:a}:{},children:c})}return d.displayName="LoadableComponent",d}},62823,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let r=e.r(81258)._(e.r(24307));function l(e,t){let n={};"function"==typeof e&&(n.loader=e);let l={...n,...t};return(0,r.default)({...l,modules:l.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},44129,e=>{"use strict";var t=e.i(13274);let n=(0,e.i(62823).default)(()=>e.A(71563).then(e=>e.DataBrowser),{loadableGenerated:{modules:[6850]},ssr:!1});function r(){return(0,t.jsx)(n,{})}e.s(["default",()=>r])},71563,e=>{e.v(t=>Promise.all(["static/chunks/46e5e8d7b7abb32f.js","static/chunks/c0d4e7aa4b1e8cd6.js"].map(t=>e.l(t))).then(()=>t(6850)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50340,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let r=e.r(47546);function l({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},33015,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},34071,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return i}});let r=e.r(13274),l=e.r(94030),o=e.r(21310),u=e.r(33015),a=e.r(92245);function i({moduleIds:e}){if("u">typeof window)return null;let t=o.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;n.push(...e)}}if(0===n.length)return null;let i=(0,a.getDeploymentIdQueryOrEmptyString)();return(0,r.jsx)(r.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,u.encodeURIPath)(e)}${i}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,l.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},24307,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return s}});let r=e.r(13274),l=e.r(62667),o=e.r(50340),u=e.r(34071);function a(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},s=function(e){let t={...i,...e},n=(0,l.lazy)(()=>t.loader().then(a)),s=t.loading;function d(e){let a=s?(0,r.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,d=i?l.Suspense:l.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(u.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(o.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...i?{fallback:a}:{},children:c})}return d.displayName="LoadableComponent",d}},62823,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let r=e.r(81258)._(e.r(24307));function l(e,t){let n={};"function"==typeof e&&(n.loader=e);let l={...n,...t};return(0,r.default)({...l,modules:l.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},44129,e=>{"use strict";var t=e.i(13274);let n=(0,e.i(62823).default)(()=>e.A(71563).then(e=>e.DataBrowser),{loadableGenerated:{modules:[6850]},ssr:!1});function r(){return(0,t.jsx)(n,{})}e.s(["default",()=>r])},71563,e=>{e.v(t=>Promise.all(["static/chunks/c306fa0e301f7e53.js","static/chunks/c0d4e7aa4b1e8cd6.js"].map(t=>e.l(t))).then(()=>t(6850)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99318,46670,e=>{"use strict";let t;var a=e.i(54414),s=e.i(62667);let r=e=>{let t,a=new Set,s=(e,s)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=s?s:"object"!=typeof r||null===r)?r:Object.assign({},t,r),a.forEach(a=>a(t,e))}},r=()=>t,n={setState:s,getState:r,getInitialState:()=>i,subscribe:e=>(a.add(e),()=>a.delete(e))},i=t=e(s,r,n);return n},n=e=>{let t=e?r(e):r,a=e=>(function(e,t=e=>e){let a=s.default.useSyncExternalStore(e.subscribe,s.default.useCallback(()=>t(e.getState()),[e,t]),s.default.useCallback(()=>t(e.getInitialState()),[e,t]));return s.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},i=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,d=(t=(e,t)=>({apiBase:i,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,s=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${s}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?n(t):n;e.s(["useDashboardStore",0,d],99318);var l=e.i(13274),c=e.i(94237),o=e.i(41371),u=e.i(44052);let h=(0,c.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function f({className:e,variant:t="default",asChild:a=!1,...s}){let r=a?o.Slot.Root:"span";return(0,l.jsx)(r,{"data-slot":"badge","data-variant":t,className:(0,u.cn)(h({variant:t}),e),...s})}e.s(["Badge",()=>f],46670)},47101,e=>{"use strict";let t=(0,e.i(3790).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],47101)},38338,e=>{"use strict";let t=(0,e.i(3790).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],38338)},15225,e=>{"use strict";var t=e.i(13274),a=e.i(62667),s=e.i(99318),r=e.i(46670),n=e.i(68759),i=e.i(87592),d=e.i(3790);let l=(0,d.default)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);var c=e.i(47101),o=e.i(38338);let u=(0,d.default)("calendar-clock",[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);function h(){let{apiBase:e}=(0,s.useDashboardStore)(),[d,h]=(0,a.useState)(null),f=(0,a.useCallback)(async()=>{try{let t=await fetch(`${e}/_admin/scheduler`);h(await t.json())}catch(e){console.error("Failed to fetch scheduler:",e)}},[e]);return((0,a.useEffect)(()=>{f();let e=setInterval(f,5e3);return()=>clearInterval(e)},[f]),d)?(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Clock,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"Scheduler"})]}),(0,t.jsx)(n.Button,{variant:"ghost",size:"sm",onClick:f,className:"text-muted-foreground",children:(0,t.jsx)(c.RefreshCw,{className:"h-3.5 w-3.5"})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground mb-3 flex items-center gap-2",children:[(0,t.jsx)(l,{className:"h-3.5 w-3.5"}),"Cron Jobs",(0,t.jsx)(r.Badge,{variant:"outline",className:"text-[10px]",children:d.crons.length})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[d.crons.map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2.5 rounded-md border border-border hover:bg-accent/50 transition-colors",children:[(0,t.jsx)(o.Play,{className:"h-3.5 w-3.5 text-green-500 shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-mono font-medium truncate",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:function(e){let t=e.trim().split(/\s+/);if(t.length<5)return e;let[a,s,r,n,i]=t;if("*"===a&&"*"===s)return"Every minute";if("*"===s&&a.startsWith("*/"))return`Every ${a.slice(2)} minutes`;if("0"===a&&"*"===s)return"Every hour";if(s.startsWith("*/"))return`Every ${s.slice(2)} hours`;if("0"===a&&"0"===s&&"*"===r&&"*"===n&&"*"===i)return"Daily at midnight";if("0"===a&&"*"===r&&"*"===n&&"*"===i)return`Daily at ${s}:00`;if("*"!==a&&"*"!==s&&"*"===r&&"*"===n&&"*"===i)return`Daily at ${s}:${a.padStart(2,"0")}`;if("1-5"===i||"MON-FRI"===i)return`Weekdays at ${s}:${a.padStart(2,"0")}`;let d={0:"Sunday",1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday",7:"Sunday",SUN:"Sunday",MON:"Monday",TUE:"Tuesday",WED:"Wednesday",THU:"Thursday",FRI:"Friday",SAT:"Saturday"}[i.toUpperCase()];return d&&"*"===r&&"*"===n?`Every ${d} at ${s}:${a.padStart(2,"0")}`:"1"===r&&"*"===n?`Monthly on the 1st at ${s}:${a.padStart(2,"0")}`:e}(e.pattern)})]}),(0,t.jsx)(r.Badge,{variant:"secondary",className:"font-mono text-[10px] shrink-0",children:e.pattern})]},`${e.name}-${a}`)),0===d.crons.length&&(0,t.jsxs)("div",{className:"text-center text-muted-foreground py-8",children:[(0,t.jsx)(u,{className:"mx-auto h-10 w-10 mb-2 opacity-30"}),(0,t.jsx)("p",{className:"text-sm",children:"No cron jobs registered"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Define cron jobs in gencow/crons.ts"})]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground mb-3 flex items-center gap-2",children:[(0,t.jsx)(i.Clock,{className:"h-3.5 w-3.5"}),"Pending Scheduled Jobs",(0,t.jsx)(r.Badge,{variant:"outline",className:"text-[10px]",children:d.pendingJobs.length})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[d.pendingJobs.map(e=>{let a;return(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2.5 rounded-md border border-border hover:bg-accent/50 transition-colors",children:[(0,t.jsx)(i.Clock,{className:"h-3.5 w-3.5 text-yellow-500 animate-pulse shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-mono font-medium truncate",children:e.action}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Scheduled for ",new Date(e.scheduledAt).toLocaleString()]})]}),(0,t.jsx)(r.Badge,{variant:"secondary",className:"text-[10px] shrink-0",children:(a=new Date(e.scheduledAt).getTime()-Date.now())<0?"overdue":a<6e4?`${Math.round(a/1e3)}s`:a<36e5?`${Math.round(a/6e4)}m`:`${Math.round(a/36e5)}h`})]},e.id)}),0===d.pendingJobs.length&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground text-center py-4",children:"No pending scheduled jobs"})]})]})]})]}):null}e.s(["SchedulerMonitor",()=>h],15225)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50340,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let r=e.r(47546);function l({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},33015,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},34071,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return i}});let r=e.r(13274),l=e.r(94030),o=e.r(21310),u=e.r(33015),a=e.r(92245);function i({moduleIds:e}){if("u">typeof window)return null;let t=o.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;n.push(...e)}}if(0===n.length)return null;let i=(0,a.getDeploymentIdQueryOrEmptyString)();return(0,r.jsx)(r.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,u.encodeURIPath)(e)}${i}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,l.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},24307,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return s}});let r=e.r(13274),l=e.r(62667),o=e.r(50340),u=e.r(34071);function a(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},s=function(e){let t={...i,...e},n=(0,l.lazy)(()=>t.loader().then(a)),s=t.loading;function d(e){let a=s?(0,r.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,d=i?l.Suspense:l.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(u.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(o.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...i?{fallback:a}:{},children:c})}return d.displayName="LoadableComponent",d}},62823,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let r=e.r(81258)._(e.r(24307));function l(e,t){let n={};"function"==typeof e&&(n.loader=e);let l={...n,...t};return(0,r.default)({...l,modules:l.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},22607,e=>{"use strict";var t=e.i(13274);let n=(0,e.i(62823).default)(()=>e.A(31511).then(e=>e.AuthManager),{loadableGenerated:{modules:[12710]},ssr:!1});function r(){return(0,t.jsx)(n,{})}e.s(["default",()=>r])},31511,e=>{e.v(t=>Promise.all(["static/chunks/6dd7133fff916008.js","static/chunks/c0d4e7aa4b1e8cd6.js"].map(t=>e.l(t))).then(()=>t(12710)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50340,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let r=e.r(47546);function l({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},33015,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},34071,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return i}});let r=e.r(13274),l=e.r(94030),o=e.r(21310),u=e.r(33015),a=e.r(92245);function i({moduleIds:e}){if("u">typeof window)return null;let t=o.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;n.push(...e)}}if(0===n.length)return null;let i=(0,a.getDeploymentIdQueryOrEmptyString)();return(0,r.jsx)(r.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,u.encodeURIPath)(e)}${i}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,l.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},24307,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return d}});let r=e.r(13274),l=e.r(62667),o=e.r(50340),u=e.r(34071);function a(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},d=function(e){let t={...i,...e},n=(0,l.lazy)(()=>t.loader().then(a)),d=t.loading;function s(e){let a=d?(0,r.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,s=i?l.Suspense:l.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(u.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(o.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(s,{...i?{fallback:a}:{},children:c})}return s.displayName="LoadableComponent",s}},62823,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let r=e.r(81258)._(e.r(24307));function l(e,t){let n={};"function"==typeof e&&(n.loader=e);let l={...n,...t};return(0,r.default)({...l,modules:l.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},22607,e=>{"use strict";var t=e.i(13274);let n=(0,e.i(62823).default)(()=>e.A(31511).then(e=>e.AuthManager),{loadableGenerated:{modules:[12710]},ssr:!1});function r(){return(0,t.jsx)(n,{})}e.s(["default",()=>r])},31511,e=>{e.v(t=>Promise.all(["static/chunks/dd5b8d905cbcd0e1.js","static/chunks/c0d4e7aa4b1e8cd6.js"].map(t=>e.l(t))).then(()=>t(12710)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99318,46670,e=>{"use strict";let t;var a=e.i(54414),r=e.i(62667);let s=e=>{let t,a=new Set,r=(e,r)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=r?r:"object"!=typeof s||null===s)?s:Object.assign({},t,s),a.forEach(a=>a(t,e))}},s=()=>t,o={setState:r,getState:s,getInitialState:()=>l,subscribe:e=>(a.add(e),()=>a.delete(e))},l=t=e(r,s,o);return o},o=e=>{let t=e?s(e):s,a=e=>(function(e,t=e=>e){let a=r.default.useSyncExternalStore(e.subscribe,r.default.useCallback(()=>t(e.getState()),[e,t]),r.default.useCallback(()=>t(e.getInitialState()),[e,t]));return r.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},l=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,n=(t=(e,t)=>({apiBase:l,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,r=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${r}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?o(t):o;e.s(["useDashboardStore",0,n],99318);var i=e.i(13274),d=e.i(94237),c=e.i(41371),u=e.i(44052);let h=(0,d.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function m({className:e,variant:t="default",asChild:a=!1,...r}){let s=a?c.Slot.Root:"span";return(0,i.jsx)(s,{"data-slot":"badge","data-variant":t,className:(0,u.cn)(h({variant:t}),e),...r})}e.s(["Badge",()=>m],46670)},47101,e=>{"use strict";let t=(0,e.i(3790).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],47101)},22195,e=>{"use strict";let t=(0,e.i(3790).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],22195)},12646,e=>{"use strict";let t=(0,e.i(3790).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],12646)},39937,e=>{"use strict";let t=(0,e.i(3790).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],39937)},85246,e=>{"use strict";let t=(0,e.i(3790).default)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);e.s(["Table2",()=>t],85246)},98590,e=>{"use strict";var t=e.i(13274),a=e.i(62667),r=e.i(54219),s=e.i(76993),o=e.i(42092),l=e.i(99173),n=e.i(14475),i=e.i(99318),d=e.i(46670),c=e.i(68759),u=e.i(44052),h=e.i(26725),m=e.i(67877),f=e.i(47101),x=e.i(5289),g=e.i(39937),b=e.i(3790);let p=(0,b.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),v=(0,b.default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var w=e.i(85246);let y=(0,b.default)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);function j(){let{tables:e,selectedTable:b,setSelectedTable:j,fetchTables:C,fetchTableData:N,deleteRow:k}=(0,i.useDashboardStore)(),[S,B]=(0,a.useState)([]),[F,E]=(0,a.useState)(0),[R,D]=(0,a.useState)(!0),[T,$]=(0,a.useState)(0),[M,A]=(0,a.useState)(null),[z,P]=(0,a.useState)(!1),[L,q]=(0,a.useState)(null),H=(0,a.useRef)(null),{resolvedTheme:O}=(0,o.useTheme)(),_=(0,a.useRef)(null),U=(0,a.useMemo)(()=>"light"===O?n.themeQuartz.withParams({accentColor:"#6366F1",backgroundColor:"#FFFFFF",borderColor:"#E4E4E7",browserColorScheme:"light",chromeBackgroundColor:"#F4F4F5",foregroundColor:"#09090B",headerBackgroundColor:"#F4F4F5",headerFontSize:12,headerFontWeight:600,fontSize:12,rowBorder:{color:"#E4E4E7"},columnBorder:{color:"#E4E4E7"},oddRowBackgroundColor:"#FAFAFA",rowHoverColor:"#EEF2FF",selectedRowBackgroundColor:"#E0E7FF",cellHorizontalPaddingScale:.8,wrapperBorderRadius:0}):n.themeQuartz.withParams({accentColor:"#6366F1",backgroundColor:"#09090B",borderColor:"#27272A",browserColorScheme:"dark",chromeBackgroundColor:"#09090B",foregroundColor:"#FAFAFA",headerBackgroundColor:"#18181B",headerFontSize:12,headerFontWeight:600,fontSize:12,rowBorder:{color:"#27272A"},columnBorder:{color:"#27272A"},oddRowBackgroundColor:"#0C0C0F",rowHoverColor:"#1A1A2E",selectedRowBackgroundColor:"#1E1B4B",cellHorizontalPaddingScale:.8,wrapperBorderRadius:0}),[O]),V=(0,s.useRouter)(),W=(0,s.useSearchParams)(),I=W.get("table");(0,a.useEffect)(()=>{I&&I!==b&&j(I)},[I]),(0,a.useEffect)(()=>{C().then(()=>{D(!1),I?j(I):j("")})},[C]);let J=(0,a.useCallback)(e=>{j(e);let t=new URLSearchParams(W.toString());t.set("table",e),V.replace(`?${t.toString()}`,{scroll:!1}),$(0),P(!1)},[V,W,j]),G=(0,a.useCallback)(()=>{j("");let e=new URLSearchParams(W.toString());e.delete("table"),V.replace(`?${e.toString()}`,{scroll:!1}),B([]),E(0)},[V,W,j]),K=(0,a.useCallback)(async()=>{if(!b)return;D(!0);let e=await N(b,50,50*T);B(e.data||[]),E(e.total||0),D(!1)},[b,T,N]);(0,a.useEffect)(()=>{K()},[K]),(0,a.useEffect)(()=>{let e=i.useDashboardStore.getState().apiBase.replace(/^http/,"ws")+"/ws",t=null,a=null,r=!0;return!function s(){r&&((t=new WebSocket(e)).onmessage=e=>{try{let t=JSON.parse(e.data),a="invalidate"===t.type&&Array.isArray(t.queries)?t.queries:"query:updated"===t.type&&t.query?[t.query]:[],r=i.useDashboardStore.getState().selectedTable;r&&a.some(e=>e.includes(r))&&K()}catch{}},t.onclose=()=>{r&&(a=setTimeout(s,3e3))})}(),()=>{r=!1,a&&clearTimeout(a),t?.close()}},[K]),(0,a.useEffect)(()=>{function e(e){H.current&&!H.current.contains(e.target)&&P(!1)}if(z)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[z]);let Q=Object.keys(e),X=b&&e[b]||[],Y=(0,a.useMemo)(()=>X.map(e=>({field:e.column,headerName:e.column,editable:"id"!==e.column,sortable:!0,resizable:!0,minWidth:e.type.includes("timestamp")?200:100,cellStyle:t=>"id"===e.column?{color:"#818CF8",cursor:"pointer",textDecoration:"underline",textDecorationColor:"#818CF850"}:null===t.value||void 0===t.value?{color:"#71717A",fontStyle:"italic"}:"boolean"==typeof t.value?{color:t.value?"#22C55E":"#EF4444"}:null,valueFormatter:t=>null===t.value||void 0===t.value?"null":"boolean"==typeof t.value?t.value?"true":"false":e.type.includes("timestamp")?new Date(t.value).toLocaleString():String(t.value),headerTooltip:`${e.column} (${e.type})${e.nullable?" | nullable":""}`})),[X]),Z=(0,a.useCallback)(async e=>{if(!b)return;let{data:t,colDef:a,newValue:s}=e,o=a.field,l=i.useDashboardStore.getState().apiBase;try{await fetch(`${l}/_admin/data/${b}/${t.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[o]:s})}),r.toast.success(`Updated ${o}`)}catch(e){console.error("Failed to update:",e),r.toast.error("Failed to update cell"),K()}},[b,K]),ee=(0,a.useCallback)(e=>{if("id"!==e.colDef.field)return;let t=e.data;q(e=>e&&e.id===t.id?null:t)},[]);(0,a.useEffect)(()=>{if(L&&S.length>0){let e=S.find(e=>e.id===L.id);e?q(e):q(null)}},[S]);let et=Math.ceil(F/50);return b?(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)(c.Button,{variant:"ghost",size:"sm",onClick:G,className:"gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(v,{className:"h-3.5 w-3.5"}),"All Tables"]}),(0,t.jsx)("div",{className:"w-px h-5 bg-border"}),(0,t.jsxs)("div",{className:"relative",ref:H,children:[(0,t.jsxs)("button",{onClick:()=>P(e=>!e),className:(0,u.cn)("flex items-center gap-2 rounded-md px-2.5 py-1.5 text-sm font-semibold transition-colors","hover:bg-accent/50 text-foreground",z&&"bg-accent/50"),children:[(0,t.jsx)(m.Database,{className:"h-3.5 w-3.5 text-primary"}),b,(0,t.jsx)(p,{className:(0,u.cn)("h-3.5 w-3.5 text-muted-foreground transition-transform",z&&"rotate-180")})]}),z&&(0,t.jsx)("div",{className:"absolute top-full left-0 mt-1 z-50 min-w-[200px] max-h-[300px] overflow-y-auto rounded-lg border border-border bg-popover shadow-lg",children:(0,t.jsx)("div",{className:"p-1",children:Q.map(a=>(0,t.jsxs)("button",{onClick:()=>J(a),className:(0,u.cn)("flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-left",a===b?"bg-primary/10 text-primary font-medium":"text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(m.Database,{className:"h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:a}),(0,t.jsxs)(d.Badge,{variant:"secondary",className:"ml-auto text-[10px] shrink-0",children:[e[a]?.length||0," cols"]})]},a))})})]}),F>0&&(0,t.jsxs)(d.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[F," rows"]})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsxs)(c.Button,{variant:"ghost",size:"sm",onClick:K,className:"text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(f.RefreshCw,{className:"mr-1.5 h-3.5 w-3.5"}),"Refresh"]})})]}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 relative overflow-hidden",children:[(0,t.jsx)(l.AgGridReact,{ref:_,modules:[n.AllCommunityModule],theme:U,rowData:S,columnDefs:Y,onGridReady:e=>{A(e.api),e.api.sizeColumnsToFit()},onCellValueChanged:Z,onCellClicked:ee,loading:R,animateRows:!0,rowSelection:"multiple",suppressMovableColumns:!1,defaultColDef:{flex:1,minWidth:80,editable:!0,resizable:!0,sortable:!0}}),L&&(0,t.jsx)("div",{className:"absolute top-0 right-0 h-full z-10 shadow-2xl animate-in slide-in-from-right duration-200",children:(0,t.jsx)(h.RowDetailDrawer,{row:L,columns:X,tableName:b,onClose:()=>q(null),onDataChanged:K})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between border-t border-border px-4 py-2 bg-background",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:0===F?"No data":`${50*T+1}–${Math.min((T+1)*50,F)} of ${F}`}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Page ",T+1," of ",Math.max(et,1)]}),(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)(c.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-border",disabled:0===T,onClick:()=>$(e=>e-1),children:(0,t.jsx)(x.ChevronLeft,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(c.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-border",disabled:T+1>=et,onClick:()=>$(e=>e+1),children:(0,t.jsx)(g.ChevronRight,{className:"h-3.5 w-3.5"})})]})]})]})]}):(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.Database,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"Data"}),(0,t.jsxs)(d.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[Q.length," tables"]})]}),(0,t.jsx)(c.Button,{variant:"ghost",size:"sm",onClick:()=>{D(!0),C().then(()=>D(!1))},className:"text-muted-foreground hover:text-foreground",children:(0,t.jsx)(f.RefreshCw,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===Q.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[(0,t.jsx)(m.Database,{className:"h-12 w-12 text-muted-foreground/30 mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-medium text-foreground mb-1",children:"No tables yet"}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground max-w-sm",children:["Define a schema in your ",(0,t.jsx)("code",{className:"bg-muted px-1 rounded text-xs",children:"gencow/schema.ts"})," file and run the server to create tables."]})]}):(0,t.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3",children:Q.map(a=>(0,t.jsxs)("button",{onClick:()=>J(a),className:(0,u.cn)("group relative flex flex-col items-start gap-3 rounded-lg border border-border p-4","bg-card hover:bg-accent/50 hover:border-primary/30","transition-all duration-150 text-left","focus:outline-none focus:ring-2 focus:ring-primary/50 focus:ring-offset-1 focus:ring-offset-background"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5 w-full",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary",children:(0,t.jsx)(w.Table2,{className:"h-4 w-4"})}),(0,t.jsx)("span",{className:"font-medium text-sm text-foreground truncate flex-1",children:a})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,t.jsx)(y,{className:"h-3 w-3"}),e[a].length," columns"]}),(0,t.jsx)(g.ChevronRight,{className:"absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground/0 group-hover:text-muted-foreground transition-colors"})]},a))})})]})}e.s(["DataBrowser",()=>j],98590)},6850,e=>{e.n(e.i(98590))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99318,46670,e=>{"use strict";let t;var a=e.i(54414),s=e.i(62667);let r=e=>{let t,a=new Set,s=(e,s)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=s?s:"object"!=typeof r||null===r)?r:Object.assign({},t,r),a.forEach(a=>a(t,e))}},r=()=>t,i={setState:s,getState:r,getInitialState:()=>l,subscribe:e=>(a.add(e),()=>a.delete(e))},l=t=e(s,r,i);return i},i=e=>{let t=e?r(e):r,a=e=>(function(e,t=e=>e){let a=s.default.useSyncExternalStore(e.subscribe,s.default.useCallback(()=>t(e.getState()),[e,t]),s.default.useCallback(()=>t(e.getInitialState()),[e,t]));return s.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},l=a.default.env.NEXT_PUBLIC_API_URL||window.location.origin,n=(t=(e,t)=>({apiBase:l,tables:{},selectedTable:null,functions:{queries:[]},status:null,setSelectedTable:t=>e({selectedTable:t}),fetchTables:async()=>{let a=await fetch(`${t().apiBase}/_admin/tables`);e({tables:await a.json()})},fetchTableData:async(e,a=50,s=0)=>(await fetch(`${t().apiBase}/_admin/data/${e}?limit=${a}&offset=${s}`)).json(),fetchFunctions:async()=>{let a=await fetch(`${t().apiBase}/_admin/functions`);e({functions:await a.json()})},fetchStatus:async()=>{let a=await fetch(`${t().apiBase}/_admin/status`);e({status:await a.json()})},insertRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})},deleteRow:async(e,a)=>{await fetch(`${t().apiBase}/_admin/data/${e}/${a}`,{method:"DELETE"})}}))?i(t):i;e.s(["useDashboardStore",0,n],99318);var c=e.i(13274),d=e.i(94237),o=e.i(41371),u=e.i(44052);let h=(0,d.cva)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function f({className:e,variant:t="default",asChild:a=!1,...s}){let r=a?o.Slot.Root:"span";return(0,c.jsx)(r,{"data-slot":"badge","data-variant":t,className:(0,u.cn)(h({variant:t}),e),...s})}e.s(["Badge",()=>f],46670)},47101,e=>{"use strict";let t=(0,e.i(3790).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],47101)},22195,e=>{"use strict";let t=(0,e.i(3790).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],22195)},12646,e=>{"use strict";let t=(0,e.i(3790).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],12646)},9996,18084,e=>{"use strict";var t=e.i(3790);let a=(0,t.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",()=>a],9996);let s=(0,t.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>s],18084)},12569,e=>{"use strict";var t=e.i(13274),a=e.i(62667),s=e.i(54219),r=e.i(99318),i=e.i(46670),l=e.i(68759),n=e.i(44052),c=e.i(6730),d=e.i(3790);let o=(0,d.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var u=e.i(47101),h=e.i(12646);let f=(0,d.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var m=e.i(22195),x=e.i(9996),p=e.i(18084);let g=(0,d.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);function v(){let{apiBase:e,deleteRow:d}=(0,r.useDashboardStore)(),[v,b]=(0,a.useState)([]),[y,j]=(0,a.useState)(!0),[w,k]=(0,a.useState)(!1),[N,S]=(0,a.useState)(!1),[$,B]=(0,a.useState)(null),[C,T]=(0,a.useState)(null),D=(0,a.useRef)(null),M=(0,a.useCallback)(async()=>{try{let t=await fetch(`${e}/_admin/files`),a=await t.json();b(a)}catch(e){console.error("Failed to fetch files:",e)}j(!1)},[e]);async function _(t){if(!t||0===t.length)return;k(!0),B(null);let a=0,r=0;for(let s of Array.from(t))try{let t=new FormData;t.append("file",s),(await fetch(`${e}/_admin/files/upload`,{method:"POST",body:t})).ok?a++:r++}catch{r++}k(!1),0===r?s.toast.success(`${a} file(s) uploaded successfully`):s.toast.error(`${a} uploaded, ${r} failed`),M(),setTimeout(()=>B(null),3e3)}async function z(e){if(C!==e){T(e),setTimeout(()=>T(null),3e3);return}await d("files",e),T(null),s.toast.success("File deleted"),M()}return(0,a.useEffect)(()=>{M()},[M]),(0,t.jsxs)("div",{className:"flex h-full flex-col",onDragOver:function(e){e.preventDefault(),S(!0)},onDragLeave:function(e){e.preventDefault(),S(!1)},onDrop:function(e){e.preventDefault(),S(!1),_(e.dataTransfer.files)},children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2 bg-background",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.FileBox,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"font-semibold text-foreground",children:"File Storage"}),(0,t.jsxs)(i.Badge,{variant:"outline",className:"text-xs border-border text-muted-foreground",children:[v.length," files"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{ref:D,type:"file",className:"hidden",multiple:!0,onChange:e=>_(e.target.files)}),(0,t.jsxs)(l.Button,{size:"sm",className:"gap-1.5",onClick:()=>D.current?.click(),disabled:w,children:[(0,t.jsx)(f,{className:"h-3.5 w-3.5"}),"Upload"]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",onClick:M,className:"text-muted-foreground",children:(0,t.jsx)(u.RefreshCw,{className:"h-3.5 w-3.5"})})]})]}),$&&(0,t.jsxs)("div",{className:(0,n.cn)("flex items-center gap-2 px-4 py-2 text-xs border-b","success"===$.type?"bg-green-500/10 text-green-400 border-green-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:["success"===$.type?(0,t.jsx)(x.CheckCircle2,{className:"h-3.5 w-3.5"}):(0,t.jsx)(p.AlertCircle,{className:"h-3.5 w-3.5"}),$.message]}),N&&(0,t.jsx)("div",{className:"absolute inset-0 z-50 bg-primary/10 border-2 border-dashed border-primary rounded-lg flex items-center justify-center backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)(f,{className:"h-12 w-12 text-primary mx-auto mb-2"}),(0,t.jsx)("p",{className:"text-lg font-medium text-primary",children:"Drop files here"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsxs)("div",{className:"p-4 space-y-1",children:[v.map(a=>{var s;return(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 rounded-md border border-border hover:bg-accent/50 transition-colors",children:[a.type.startsWith("image/")?(0,t.jsx)("div",{className:"h-10 w-10 rounded bg-muted flex items-center justify-center overflow-hidden shrink-0",children:(0,t.jsx)("img",{src:`${e}/api/storage/${a.storage_id}`,alt:a.name,className:"h-full w-full object-cover",loading:"lazy"})}):(0,t.jsx)("div",{className:"h-10 w-10 rounded bg-muted flex items-center justify-center shrink-0",children:(0,t.jsx)(o,{className:"h-5 w-5 text-muted-foreground"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-foreground truncate",children:a.name}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{children:a.type}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:(s=Number(a.size))<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(1)} MB`}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:new Date(a.created_at).toLocaleString()})]})]}),(0,t.jsxs)(i.Badge,{variant:"secondary",className:"text-[10px] font-mono shrink-0",children:[a.storage_id.slice(0,8),"…"]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 text-muted-foreground hover:text-foreground",onClick:()=>{let t=document.createElement("a");t.href=`${e}/api/storage/${a.storage_id}`,t.download=a.name,t.click()},title:"Download",children:(0,t.jsx)(g,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:(0,n.cn)("h-7 w-7 shrink-0",C===a.id?"text-red-400 bg-red-500/10":"text-muted-foreground hover:text-red-400"),onClick:()=>z(a.id),title:C===a.id?"Click again to confirm":"Delete",children:C===a.id?(0,t.jsx)(m.X,{className:"h-3.5 w-3.5"}):(0,t.jsx)(h.Trash2,{className:"h-3.5 w-3.5"})})]},a.id)}),0===v.length&&!y&&(0,t.jsxs)("div",{className:"text-center text-muted-foreground py-12",children:[(0,t.jsx)(f,{className:"mx-auto h-12 w-12 mb-3 opacity-30"}),(0,t.jsx)("p",{className:"font-medium",children:"No files uploaded yet"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Drag & drop files here or click Upload"}),(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",className:"mt-3",onClick:()=>D.current?.click(),children:[(0,t.jsx)(f,{className:"mr-1.5 h-3.5 w-3.5"}),"Choose Files"]})]})]})})]})}e.s(["FileStorageBrowser",()=>v],12569)}]);