@specific.dev/cli 0.1.156 → 0.1.158

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 (91) hide show
  1. package/dist/admin/404/index.html +1 -1
  2. package/dist/admin/404.html +1 -1
  3. package/dist/admin/__next.!KGRlZmF1bHQp.__PAGE__.txt +2 -2
  4. package/dist/admin/__next.!KGRlZmF1bHQp.txt +5 -5
  5. package/dist/admin/__next._full.txt +6 -6
  6. package/dist/admin/__next._head.txt +1 -1
  7. package/dist/admin/__next._index.txt +1 -1
  8. package/dist/admin/__next._tree.txt +1 -1
  9. package/dist/admin/_next/static/chunks/{9fe0755b78ed504a.js → 68598441248beee0.js} +1 -1
  10. package/dist/admin/_next/static/chunks/86c4724b5ef98ffe.js +1 -0
  11. package/dist/admin/_next/static/chunks/c7aaec1998a39e17.js +5 -0
  12. package/dist/admin/_not-found/__next._full.txt +1 -1
  13. package/dist/admin/_not-found/__next._head.txt +1 -1
  14. package/dist/admin/_not-found/__next._index.txt +1 -1
  15. package/dist/admin/_not-found/__next._not-found.__PAGE__.txt +1 -1
  16. package/dist/admin/_not-found/__next._not-found.txt +1 -1
  17. package/dist/admin/_not-found/__next._tree.txt +1 -1
  18. package/dist/admin/_not-found/index.html +1 -1
  19. package/dist/admin/_not-found/index.txt +1 -1
  20. package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.__PAGE__.txt +2 -2
  21. package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.txt +1 -1
  22. package/dist/admin/databases/__next.!KGRlZmF1bHQp.txt +5 -5
  23. package/dist/admin/databases/__next._full.txt +6 -6
  24. package/dist/admin/databases/__next._head.txt +1 -1
  25. package/dist/admin/databases/__next._index.txt +1 -1
  26. package/dist/admin/databases/__next._tree.txt +1 -1
  27. package/dist/admin/databases/index.html +1 -1
  28. package/dist/admin/databases/index.txt +6 -6
  29. package/dist/admin/fullscreen/__next._full.txt +2 -2
  30. package/dist/admin/fullscreen/__next._head.txt +1 -1
  31. package/dist/admin/fullscreen/__next._index.txt +1 -1
  32. package/dist/admin/fullscreen/__next._tree.txt +1 -1
  33. package/dist/admin/fullscreen/__next.fullscreen.__PAGE__.txt +2 -2
  34. package/dist/admin/fullscreen/__next.fullscreen.txt +1 -1
  35. package/dist/admin/fullscreen/databases/__next._full.txt +1 -1
  36. package/dist/admin/fullscreen/databases/__next._head.txt +1 -1
  37. package/dist/admin/fullscreen/databases/__next._index.txt +1 -1
  38. package/dist/admin/fullscreen/databases/__next._tree.txt +1 -1
  39. package/dist/admin/fullscreen/databases/__next.fullscreen.databases.__PAGE__.txt +1 -1
  40. package/dist/admin/fullscreen/databases/__next.fullscreen.databases.txt +1 -1
  41. package/dist/admin/fullscreen/databases/__next.fullscreen.txt +1 -1
  42. package/dist/admin/fullscreen/databases/index.html +1 -1
  43. package/dist/admin/fullscreen/databases/index.txt +1 -1
  44. package/dist/admin/fullscreen/index.html +1 -1
  45. package/dist/admin/fullscreen/index.txt +2 -2
  46. package/dist/admin/index.html +1 -1
  47. package/dist/admin/index.txt +6 -6
  48. package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.__PAGE__.txt +2 -2
  49. package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.txt +1 -1
  50. package/dist/admin/mail/__next.!KGRlZmF1bHQp.txt +5 -5
  51. package/dist/admin/mail/__next._full.txt +6 -6
  52. package/dist/admin/mail/__next._head.txt +1 -1
  53. package/dist/admin/mail/__next._index.txt +1 -1
  54. package/dist/admin/mail/__next._tree.txt +1 -1
  55. package/dist/admin/mail/index.html +1 -1
  56. package/dist/admin/mail/index.txt +6 -6
  57. package/dist/admin/services/__next.!KGRlZmF1bHQp.services.__PAGE__.txt +2 -2
  58. package/dist/admin/services/__next.!KGRlZmF1bHQp.services.txt +1 -1
  59. package/dist/admin/services/__next.!KGRlZmF1bHQp.txt +5 -5
  60. package/dist/admin/services/__next._full.txt +6 -6
  61. package/dist/admin/services/__next._head.txt +1 -1
  62. package/dist/admin/services/__next._index.txt +1 -1
  63. package/dist/admin/services/__next._tree.txt +1 -1
  64. package/dist/admin/services/index.html +1 -1
  65. package/dist/admin/services/index.txt +6 -6
  66. package/dist/admin/storage/__next.!KGRlZmF1bHQp.storage.__PAGE__.txt +2 -2
  67. package/dist/admin/storage/__next.!KGRlZmF1bHQp.storage.txt +1 -1
  68. package/dist/admin/storage/__next.!KGRlZmF1bHQp.txt +5 -5
  69. package/dist/admin/storage/__next._full.txt +6 -6
  70. package/dist/admin/storage/__next._head.txt +1 -1
  71. package/dist/admin/storage/__next._index.txt +1 -1
  72. package/dist/admin/storage/__next._tree.txt +1 -1
  73. package/dist/admin/storage/index.html +1 -1
  74. package/dist/admin/storage/index.txt +6 -6
  75. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.txt +5 -5
  76. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.__PAGE__.txt +2 -2
  77. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.txt +1 -1
  78. package/dist/admin/workflows/__next._full.txt +6 -6
  79. package/dist/admin/workflows/__next._head.txt +1 -1
  80. package/dist/admin/workflows/__next._index.txt +1 -1
  81. package/dist/admin/workflows/__next._tree.txt +1 -1
  82. package/dist/admin/workflows/index.html +1 -1
  83. package/dist/admin/workflows/index.txt +6 -6
  84. package/dist/cli.js +5 -4
  85. package/dist/docs/storage.md +2 -0
  86. package/package.json +1 -1
  87. package/dist/admin/_next/static/chunks/6d4c1852135da048.js +0 -5
  88. package/dist/admin/_next/static/chunks/c82a52b3c62e7d18.js +0 -1
  89. /package/dist/admin/_next/static/{LM5srA3KFzVacZt5CPP37 → SdGBMqd60o93Rm-No_m_B}/_buildManifest.js +0 -0
  90. /package/dist/admin/_next/static/{LM5srA3KFzVacZt5CPP37 → SdGBMqd60o93Rm-No_m_B}/_clientMiddlewareManifest.json +0 -0
  91. /package/dist/admin/_next/static/{LM5srA3KFzVacZt5CPP37 → SdGBMqd60o93Rm-No_m_B}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><!--LM5srA3KFzVacZt5CPP37--><html lang="en" class="inter_b2991b2-module__9mH_6q__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/797e433ab948586e-s.p.479bea2b.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/4ae8172f753ceb22.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/48f1de3af928e439.js"/><script src="/_next/static/chunks/9f53491ced2668ee.js" async=""></script><script src="/_next/static/chunks/63473a6cb811ed42.js" async=""></script><script src="/_next/static/chunks/turbopack-2830c15bd3d8f58b.js" async=""></script><script src="/_next/static/chunks/c52b2ebc474a0535.js" async=""></script><script src="/_next/static/chunks/b2b4aada246f4749.js" async=""></script><script src="/_next/static/chunks/7c2bbd09e9922443.js" async=""></script><script src="/_next/static/chunks/6d4c1852135da048.js" async=""></script><script src="/_next/static/chunks/b44581875c51fcd8.js" async=""></script><script src="/_next/static/chunks/9835cc4e14c5aee3.js" async=""></script><script src="/_next/static/chunks/dc5c264e3262a84a.js" async=""></script><script src="/_next/static/chunks/e3baf0c708c5b9ae.js" async=""></script><meta name="next-size-adjust" content=""/><title>Specific Dev Admin</title><meta name="description" content="Local development admin UI for Specific"/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.svg?icon.456b8582.svg" sizes="any" type="image/svg+xml"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable 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","system",null,["light","dark"],null,true,true)</script><div data-slot="sidebar-wrapper" style="--sidebar-width:16rem;--sidebar-width-icon:3rem" class="group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full"><div class="group peer text-sidebar-foreground hidden md:block" data-state="expanded" data-collapsible="" data-variant="inset" data-side="left" data-slot="sidebar"><div data-slot="sidebar-gap" class="relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"></div><div data-slot="sidebar-container" class="fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"><div data-sidebar="sidebar" data-slot="sidebar-inner" class="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"><div data-slot="sidebar-header" data-sidebar="header" class="flex flex-col gap-2 p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:text-sidebar-accent-foreground h-8 text-sm cursor-default hover:bg-transparent active:bg-transparent"><div class="size-2 shrink-0 rounded-full bg-muted-foreground"></div><span class="truncate font-medium">Development</span></button></li></ul></div><div data-slot="sidebar-content" data-sidebar="content" class="flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden"><div data-slot="sidebar-group" data-sidebar="group" class="relative flex w-full min-w-0 flex-col p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span>Overview</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-server" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Services</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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" 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><span>Databases</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-hard-drive" aria-hidden="true"><line x1="22" x2="2" y1="12" y2="12"></line><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path><line x1="6" x2="6.01" y1="16" y2="16"></line><line x1="10" x2="10.01" y1="16" y2="16"></line></svg><span>Storage</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="true" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-workflow" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg><span>Workflows</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-mail" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg><span>Mail</span></button></li></ul></div></div><div data-slot="sidebar-footer" data-sidebar="footer" class="flex flex-col gap-2 p-2"></div></div></div></div><main data-slot="sidebar-inset" class="bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 overflow-hidden"><header class="h-14 shrink-0 items-center gap-2 border-b border-border px-3 hidden"><div data-header-portal="true" class="flex flex-1 items-center gap-2"></div></header><div class="flex min-h-0 flex-1 flex-col overflow-hidden"><main class="flex-1 overflow-hidden"><div class="p-6"><div class="p-6 rounded-lg bg-card border border-border text-center"><p class="text-muted-foreground">No workflow engine configured.</p><p class="text-sm text-muted-foreground mt-1">Add a temporal block to your specific.hcl to use the workflow engine.</p></div></div></main><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/48f1de3af928e439.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[49311,[\"/_next/static/chunks/c52b2ebc474a0535.js\"],\"ThemeProvider\"]\n3:I[12283,[\"/_next/static/chunks/c52b2ebc474a0535.js\"],\"DevStateProvider\"]\n4:I[26965,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"default\"]\n5:I[53399,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"default\"]\n6:I[84220,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/6d4c1852135da048.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"SidebarProvider\"]\n7:I[94519,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/6d4c1852135da048.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"AppSidebar\"]\n8:I[84220,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/6d4c1852135da048.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"SidebarInset\"]\n9:I[93103,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/6d4c1852135da048.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"SiteHeaderProvider\"]\na:I[66592,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"ClientPageRoot\"]\nb:I[14627,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/6d4c1852135da048.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\",\"/_next/static/chunks/e3baf0c708c5b9ae.js\"],\"default\"]\ne:I[15478,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"OutletBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[15478,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"ViewportBoundary\"]\n13:I[15478,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"MetadataBoundary\"]\n15:I[47541,[],\"default\"]\n:HL[\"/_next/static/chunks/4ae8172f753ceb22.css\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.479bea2b.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"LM5srA3KFzVacZt5CPP37\",\"c\":[\"\",\"workflows\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(default)\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/4ae8172f753ceb22.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/c52b2ebc474a0535.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"inter_b2991b2-module__9mH_6q__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/6d4c1852135da048.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/b44581875c51fcd8.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/dc5c264e3262a84a.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[[\"$\",\"$L7\",null,{}],[\"$\",\"$L8\",null,{\"className\":\"overflow-hidden\",\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$La\",null,{\"Component\":\"$b\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@c\",\"$@d\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/e3baf0c708c5b9ae.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$f\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@10\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L11\",null,{\"children\":\"$L12\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L13\",null,{\"children\":[\"$\",\"$f\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L14\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$15\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:{}\nd:\"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"12:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[80000,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"IconMark\"]\n10:null\n14:[[\"$\",\"title\",\"0\",{\"children\":\"Specific Dev Admin\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local development admin UI for Specific\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.456b8582.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L16\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--SdGBMqd60o93Rm_No_m_B--><html lang="en" class="inter_b2991b2-module__9mH_6q__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/797e433ab948586e-s.p.479bea2b.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/4ae8172f753ceb22.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/48f1de3af928e439.js"/><script src="/_next/static/chunks/9f53491ced2668ee.js" async=""></script><script src="/_next/static/chunks/63473a6cb811ed42.js" async=""></script><script src="/_next/static/chunks/turbopack-2830c15bd3d8f58b.js" async=""></script><script src="/_next/static/chunks/c52b2ebc474a0535.js" async=""></script><script src="/_next/static/chunks/b2b4aada246f4749.js" async=""></script><script src="/_next/static/chunks/7c2bbd09e9922443.js" async=""></script><script src="/_next/static/chunks/c7aaec1998a39e17.js" async=""></script><script src="/_next/static/chunks/b44581875c51fcd8.js" async=""></script><script src="/_next/static/chunks/9835cc4e14c5aee3.js" async=""></script><script src="/_next/static/chunks/dc5c264e3262a84a.js" async=""></script><script src="/_next/static/chunks/e3baf0c708c5b9ae.js" async=""></script><meta name="next-size-adjust" content=""/><title>Specific Dev Admin</title><meta name="description" content="Local development admin UI for Specific"/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.svg?icon.456b8582.svg" sizes="any" type="image/svg+xml"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable 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","system",null,["light","dark"],null,true,true)</script><div data-slot="sidebar-wrapper" style="--sidebar-width:16rem;--sidebar-width-icon:3rem" class="group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full"><div class="group peer text-sidebar-foreground hidden md:block" data-state="expanded" data-collapsible="" data-variant="inset" data-side="left" data-slot="sidebar"><div data-slot="sidebar-gap" class="relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"></div><div data-slot="sidebar-container" class="fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"><div data-sidebar="sidebar" data-slot="sidebar-inner" class="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"><div data-slot="sidebar-header" data-sidebar="header" class="flex flex-col gap-2 p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:text-sidebar-accent-foreground h-8 text-sm cursor-default hover:bg-transparent active:bg-transparent"><div class="size-2 shrink-0 rounded-full bg-muted-foreground"></div><span class="truncate font-medium">Development</span></button></li></ul></div><div data-slot="sidebar-content" data-sidebar="content" class="flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden"><div data-slot="sidebar-group" data-sidebar="group" class="relative flex w-full min-w-0 flex-col p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span>Overview</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-server" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Services</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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" 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><span>Databases</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-hard-drive" aria-hidden="true"><line x1="22" x2="2" y1="12" y2="12"></line><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path><line x1="6" x2="6.01" y1="16" y2="16"></line><line x1="10" x2="10.01" y1="16" y2="16"></line></svg><span>Storage</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="true" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-workflow" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg><span>Workflows</span></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" disabled="" data-state="closed"><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-mail" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg><span>Mail</span></button></li></ul></div></div><div data-slot="sidebar-footer" data-sidebar="footer" class="flex flex-col gap-2 p-2"></div></div></div></div><main data-slot="sidebar-inset" class="bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 overflow-hidden"><header class="h-14 shrink-0 items-center gap-2 border-b border-border px-3 hidden"><div data-header-portal="true" class="flex flex-1 items-center gap-2"></div></header><div class="flex min-h-0 flex-1 flex-col overflow-hidden"><main class="flex-1 overflow-hidden"><div class="p-6"><div class="p-6 rounded-lg bg-card border border-border text-center"><p class="text-muted-foreground">No workflow engine configured.</p><p class="text-sm text-muted-foreground mt-1">Add a temporal block to your specific.hcl to use the workflow engine.</p></div></div></main><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/48f1de3af928e439.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[49311,[\"/_next/static/chunks/c52b2ebc474a0535.js\"],\"ThemeProvider\"]\n3:I[12283,[\"/_next/static/chunks/c52b2ebc474a0535.js\"],\"DevStateProvider\"]\n4:I[26965,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"default\"]\n5:I[53399,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"default\"]\n6:I[84220,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/c7aaec1998a39e17.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"SidebarProvider\"]\n7:I[94519,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/c7aaec1998a39e17.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"AppSidebar\"]\n8:I[84220,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/c7aaec1998a39e17.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"SidebarInset\"]\n9:I[93103,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/c7aaec1998a39e17.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\"],\"SiteHeaderProvider\"]\na:I[66592,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"ClientPageRoot\"]\nb:I[14627,[\"/_next/static/chunks/c52b2ebc474a0535.js\",\"/_next/static/chunks/c7aaec1998a39e17.js\",\"/_next/static/chunks/b44581875c51fcd8.js\",\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"/_next/static/chunks/dc5c264e3262a84a.js\",\"/_next/static/chunks/e3baf0c708c5b9ae.js\"],\"default\"]\ne:I[15478,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"OutletBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[15478,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"ViewportBoundary\"]\n13:I[15478,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"MetadataBoundary\"]\n15:I[47541,[],\"default\"]\n:HL[\"/_next/static/chunks/4ae8172f753ceb22.css\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.479bea2b.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"SdGBMqd60o93Rm-No_m_B\",\"c\":[\"\",\"workflows\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(default)\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/4ae8172f753ceb22.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/c52b2ebc474a0535.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"inter_b2991b2-module__9mH_6q__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/c7aaec1998a39e17.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/b44581875c51fcd8.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/9835cc4e14c5aee3.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/dc5c264e3262a84a.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[[\"$\",\"$L7\",null,{}],[\"$\",\"$L8\",null,{\"className\":\"overflow-hidden\",\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$La\",null,{\"Component\":\"$b\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@c\",\"$@d\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/e3baf0c708c5b9ae.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$f\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@10\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L11\",null,{\"children\":\"$L12\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L13\",null,{\"children\":[\"$\",\"$f\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L14\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$15\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:{}\nd:\"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"12:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[80000,[\"/_next/static/chunks/b2b4aada246f4749.js\",\"/_next/static/chunks/7c2bbd09e9922443.js\"],\"IconMark\"]\n10:null\n14:[[\"$\",\"title\",\"0\",{\"children\":\"Specific Dev Admin\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local development admin UI for Specific\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.456b8582.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L16\",\"4\",{}]]\n"])</script></body></html>
@@ -3,12 +3,12 @@
3
3
  3:I[12283,["/_next/static/chunks/c52b2ebc474a0535.js"],"DevStateProvider"]
4
4
  4:I[26965,["/_next/static/chunks/b2b4aada246f4749.js","/_next/static/chunks/7c2bbd09e9922443.js"],"default"]
5
5
  5:I[53399,["/_next/static/chunks/b2b4aada246f4749.js","/_next/static/chunks/7c2bbd09e9922443.js"],"default"]
6
- 6:I[84220,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/6d4c1852135da048.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"SidebarProvider"]
7
- 7:I[94519,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/6d4c1852135da048.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"AppSidebar"]
8
- 8:I[84220,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/6d4c1852135da048.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"SidebarInset"]
9
- 9:I[93103,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/6d4c1852135da048.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"SiteHeaderProvider"]
6
+ 6:I[84220,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/c7aaec1998a39e17.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"SidebarProvider"]
7
+ 7:I[94519,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/c7aaec1998a39e17.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"AppSidebar"]
8
+ 8:I[84220,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/c7aaec1998a39e17.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"SidebarInset"]
9
+ 9:I[93103,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/c7aaec1998a39e17.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js"],"SiteHeaderProvider"]
10
10
  a:I[66592,["/_next/static/chunks/b2b4aada246f4749.js","/_next/static/chunks/7c2bbd09e9922443.js"],"ClientPageRoot"]
11
- b:I[14627,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/6d4c1852135da048.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js","/_next/static/chunks/e3baf0c708c5b9ae.js"],"default"]
11
+ b:I[14627,["/_next/static/chunks/c52b2ebc474a0535.js","/_next/static/chunks/c7aaec1998a39e17.js","/_next/static/chunks/b44581875c51fcd8.js","/_next/static/chunks/9835cc4e14c5aee3.js","/_next/static/chunks/dc5c264e3262a84a.js","/_next/static/chunks/e3baf0c708c5b9ae.js"],"default"]
12
12
  e:I[15478,["/_next/static/chunks/b2b4aada246f4749.js","/_next/static/chunks/7c2bbd09e9922443.js"],"OutletBoundary"]
13
13
  f:"$Sreact.suspense"
14
14
  11:I[15478,["/_next/static/chunks/b2b4aada246f4749.js","/_next/static/chunks/7c2bbd09e9922443.js"],"ViewportBoundary"]
@@ -18,7 +18,7 @@ f:"$Sreact.suspense"
18
18
  :HL["/_next/static/media/797e433ab948586e-s.p.479bea2b.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
19
19
  :HL["/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
20
20
  :HL["/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
21
- 0:{"P":null,"b":"LM5srA3KFzVacZt5CPP37","c":["","workflows",""],"q":"","i":false,"f":[[["",{"children":["(default)",{"children":["workflows",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/4ae8172f753ceb22.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/c52b2ebc474a0535.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"inter_b2991b2-module__9mH_6q__variable","suppressHydrationWarning":true,"children":["$","body",null,{"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased","children":["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/6d4c1852135da048.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/b44581875c51fcd8.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/9835cc4e14c5aee3.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/dc5c264e3262a84a.js","async":true,"nonce":"$undefined"}]],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","$L8",null,{"className":"overflow-hidden","children":["$","$L9",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@c","$@d"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/e3baf0c708c5b9ae.js","async":true,"nonce":"$undefined"}]],["$","$Le",null,{"children":["$","$f",null,{"name":"Next.MetadataOutlet","children":"$@10"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$f",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[]],"S":true}
21
+ 0:{"P":null,"b":"SdGBMqd60o93Rm-No_m_B","c":["","workflows",""],"q":"","i":false,"f":[[["",{"children":["(default)",{"children":["workflows",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/4ae8172f753ceb22.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/c52b2ebc474a0535.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"inter_b2991b2-module__9mH_6q__variable","suppressHydrationWarning":true,"children":["$","body",null,{"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased","children":["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/c7aaec1998a39e17.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/b44581875c51fcd8.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/9835cc4e14c5aee3.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/dc5c264e3262a84a.js","async":true,"nonce":"$undefined"}]],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","$L8",null,{"className":"overflow-hidden","children":["$","$L9",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@c","$@d"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/e3baf0c708c5b9ae.js","async":true,"nonce":"$undefined"}]],["$","$Le",null,{"children":["$","$f",null,{"name":"Next.MetadataOutlet","children":"$@10"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$f",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[]],"S":true}
22
22
  c:{}
23
23
  d:"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
24
24
  12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
package/dist/cli.js CHANGED
@@ -373803,7 +373803,8 @@ Add them to the config block in specific.local`
373803
373803
  port: runningServicePorts.get(svc.name),
373804
373804
  exposed: svc.endpoints.some((e) => e.public),
373805
373805
  publicUrl,
373806
- env: build?.env ? { ...build.env, ...svc.env } : svc.env
373806
+ env: build?.env ? { ...build.env, ...svc.env } : svc.env,
373807
+ volumes: svc.volumes?.map((v) => v.name)
373807
373808
  };
373808
373809
  }),
373809
373810
  resources: [...resources.entries()].map(([name, r]) => ({
@@ -374460,7 +374461,7 @@ function trackEvent(event, properties) {
374460
374461
  event,
374461
374462
  properties: {
374462
374463
  ...properties,
374463
- cli_version: "0.1.156",
374464
+ cli_version: "0.1.158",
374464
374465
  platform: process.platform,
374465
374466
  node_version: process.version,
374466
374467
  project_id: getProjectId()
@@ -378571,7 +378572,7 @@ function compareVersions(a, b) {
378571
378572
  return 0;
378572
378573
  }
378573
378574
  async function checkForUpdate() {
378574
- const currentVersion = "0.1.156";
378575
+ const currentVersion = "0.1.158";
378575
378576
  const response = await fetch(`${BINARIES_BASE_URL}/latest?t=${Date.now()}`);
378576
378577
  if (!response.ok) {
378577
378578
  throw new Error(`Failed to check for updates: HTTP ${response.status}`);
@@ -379160,7 +379161,7 @@ async function domainAddCommand(service, domain, options2) {
379160
379161
  var program = new Command();
379161
379162
  var env = "production";
379162
379163
  var envLabel = env !== "production" ? `[${env.toUpperCase()}] ` : "";
379163
- program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.156").enablePositionalOptions();
379164
+ program.name("specific").description(`${envLabel}Infrastructure-as-code for coding agents`).version("0.1.158").enablePositionalOptions();
379164
379165
  program.command("init").description("Initialize project for use with a coding agent").option("--agent <name...>", "Agents to configure (cursor, claude, codex, other)").addHelpText("after", `
379165
379166
  Examples:
379166
379167
  $ specific init
@@ -41,6 +41,8 @@ storage "uploads" {}
41
41
 
42
42
  In production, the user can browse bucket contents and manage stored files from the Specific Dashboard at https://dashboard.specific.dev.
43
43
 
44
+ If a service outside of Specific needs to read from or write to a bucket, direct S3-compatible credentials (read/write or read-only) can be generated from the storage resource's "Access" tab in the dashboard.
45
+
44
46
  ## Example using AWS SDK (JavaScript)
45
47
 
46
48
  ```javascript
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specific.dev/cli",
3
- "version": "0.1.156",
3
+ "version": "0.1.158",
4
4
  "description": "CLI for Specific infrastructure-as-code",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",
@@ -1,5 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31544,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},61287,e=>{"use strict";var t=e.i(59369),r=e.i(91752),n=e.i(90795),o=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),i=t.forwardRef((e,t)=>(0,n.jsx)(r.Primitive.span,{...e,ref:t,style:{...o,...e.style}}));i.displayName="VisuallyHidden",e.s(["Root",()=>i,"VISUALLY_HIDDEN_STYLES",()=>o])},10514,e=>{"use strict";var t=e.i(21472);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.clsx;e.s(["cva",0,(e,t)=>o=>{var i;if((null==t?void 0:t.variants)==null)return n(e,null==o?void 0:o.class,null==o?void 0:o.className);let{variants:l,defaultVariants:a}=t,s=Object.keys(l).map(e=>{let t=null==o?void 0:o[e],n=null==a?void 0:a[e];if(null===t)return null;let i=r(t)||r(n);return l[e][i]}),u=o&&Object.entries(o).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return n(e,s,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:r,className:n,...o}=t;return Object.entries(o).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...a,...u}[t]):({...a,...u})[t]===r})?[...e,r,n]:e},[]),null==o?void 0:o.class,null==o?void 0:o.className)}])},7447,e=>{"use strict";var t=e.i(59369),r=e.i(83776),n=e.i(10500),o=e=>{var o;let l,a,{present:s,children:u}=e,c=function(e){var r,o;let[l,a]=t.useState(),s=t.useRef(null),u=t.useRef(e),c=t.useRef("none"),[d,p]=(r=e?"mounted":"unmounted",o={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>o[e][t]??e,r));return t.useEffect(()=>{let e=i(s.current);c.current="mounted"===d?e:"none"},[d]),(0,n.useLayoutEffect)(()=>{let t=s.current,r=u.current;if(r!==e){let n=c.current,o=i(t);e?p("MOUNT"):"none"===o||t?.display==="none"?p("UNMOUNT"):r&&n!==o?p("ANIMATION_OUT"):p("UNMOUNT"),u.current=e}},[e,p]),(0,n.useLayoutEffect)(()=>{if(l){let e,t=l.ownerDocument.defaultView??window,r=r=>{let n=i(s.current).includes(CSS.escape(r.animationName));if(r.target===l&&n&&(p("ANIMATION_END"),!u.current)){let r=l.style.animationFillMode;l.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===l.style.animationFillMode&&(l.style.animationFillMode=r)})}},n=e=>{e.target===l&&(c.current=i(s.current))};return l.addEventListener("animationstart",n),l.addEventListener("animationcancel",r),l.addEventListener("animationend",r),()=>{t.clearTimeout(e),l.removeEventListener("animationstart",n),l.removeEventListener("animationcancel",r),l.removeEventListener("animationend",r)}}p("ANIMATION_END")},[l,p]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{s.current=e?getComputedStyle(e):null,a(e)},[])}}(s),d="function"==typeof u?u({present:c.isPresent}):t.Children.only(u),p=(0,r.useComposedRefs)(c.ref,(o=d,(a=(l=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?o.ref:(a=(l=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?o.props.ref:o.props.ref||o.ref));return"function"==typeof u||c.isPresent?t.cloneElement(d,{ref:p}):null};function i(e){return e?.animationName||"none"}o.displayName="Presence",e.s(["Presence",()=>o])},42733,e=>{"use strict";var t=e.i(59369),r=e.i(99248),n=e.i(83776),o=e.i(52074),i=e.i(22478),l=e.i(57312),a=e.i(29719),s=e.i(72509),u=e.i(7447),c=e.i(91752),d=e.i(2501),p=e.i(76191),f=e.i(61287),m=e.i(90795),[v,g]=(0,o.createContextScope)("Tooltip",[a.createPopperScope]),y=(0,a.createPopperScope)(),x="TooltipProvider",h="tooltip.open",[b,w]=v(x),C=e=>{let{__scopeTooltip:r,delayDuration:n=700,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:l}=e,a=t.useRef(!0),s=t.useRef(!1),u=t.useRef(0);return t.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,m.jsx)(b,{scope:r,isOpenDelayedRef:a,delayDuration:n,onOpen:t.useCallback(()=>{window.clearTimeout(u.current),a.current=!1},[]),onClose:t.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:t.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:l})};C.displayName=x;var R="Tooltip",[E,T]=v(R),j=e=>{let{__scopeTooltip:r,children:n,open:o,defaultOpen:i,onOpenChange:s,disableHoverableContent:u,delayDuration:c}=e,d=w(R,e.__scopeTooltip),f=y(r),[v,g]=t.useState(null),x=(0,l.useId)(),b=t.useRef(0),C=u??d.disableHoverableContent,T=c??d.delayDuration,j=t.useRef(!1),[P,O]=(0,p.useControllableState)({prop:o,defaultProp:i??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(h))):d.onClose(),s?.(e)},caller:R}),D=t.useMemo(()=>P?j.current?"delayed-open":"instant-open":"closed",[P]),N=t.useCallback(()=>{window.clearTimeout(b.current),b.current=0,j.current=!1,O(!0)},[O]),I=t.useCallback(()=>{window.clearTimeout(b.current),b.current=0,O(!1)},[O]),k=t.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{j.current=!0,O(!0),b.current=0},T)},[T,O]);return t.useEffect(()=>()=>{b.current&&(window.clearTimeout(b.current),b.current=0)},[]),(0,m.jsx)(a.Root,{...f,children:(0,m.jsx)(E,{scope:r,contentId:x,open:P,stateAttribute:D,trigger:v,onTriggerChange:g,onTriggerEnter:t.useCallback(()=>{d.isOpenDelayedRef.current?k():N()},[d.isOpenDelayedRef,k,N]),onTriggerLeave:t.useCallback(()=>{C?I():(window.clearTimeout(b.current),b.current=0)},[I,C]),onOpen:N,onClose:I,disableHoverableContent:C,children:n})})};j.displayName=R;var P="TooltipTrigger",O=t.forwardRef((e,o)=>{let{__scopeTooltip:i,...l}=e,s=T(P,i),u=w(P,i),d=y(i),p=t.useRef(null),f=(0,n.useComposedRefs)(o,p,s.onTriggerChange),v=t.useRef(!1),g=t.useRef(!1),x=t.useCallback(()=>v.current=!1,[]);return t.useEffect(()=>()=>document.removeEventListener("pointerup",x),[x]),(0,m.jsx)(a.Anchor,{asChild:!0,...d,children:(0,m.jsx)(c.Primitive.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...l,ref:f,onPointerMove:(0,r.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||u.isPointerInTransitRef.current||(s.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,r.composeEventHandlers)(e.onPointerLeave,()=>{s.onTriggerLeave(),g.current=!1}),onPointerDown:(0,r.composeEventHandlers)(e.onPointerDown,()=>{s.open&&s.onClose(),v.current=!0,document.addEventListener("pointerup",x,{once:!0})}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{v.current||s.onOpen()}),onBlur:(0,r.composeEventHandlers)(e.onBlur,s.onClose),onClick:(0,r.composeEventHandlers)(e.onClick,s.onClose)})})});O.displayName=P;var D="TooltipPortal",[N,I]=v(D,{forceMount:void 0}),k=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,i=T(D,t);return(0,m.jsx)(N,{scope:t,forceMount:r,children:(0,m.jsx)(u.Presence,{present:r||i.open,children:(0,m.jsx)(s.Portal,{asChild:!0,container:o,children:n})})})};k.displayName=D;var M="TooltipContent",_=t.forwardRef((e,t)=>{let r=I(M,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...i}=e,l=T(M,e.__scopeTooltip);return(0,m.jsx)(u.Presence,{present:n||l.open,children:l.disableHoverableContent?(0,m.jsx)(H,{side:o,...i,ref:t}):(0,m.jsx)(A,{side:o,...i,ref:t})})}),A=t.forwardRef((e,r)=>{let o=T(M,e.__scopeTooltip),i=w(M,e.__scopeTooltip),l=t.useRef(null),a=(0,n.useComposedRefs)(r,l),[s,u]=t.useState(null),{trigger:c,onClose:d}=o,p=l.current,{onPointerInTransitChange:f}=i,v=t.useCallback(()=>{u(null),f(!1)},[f]),g=t.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());u(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,i),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),f(!0)},[f]);return t.useEffect(()=>()=>v(),[v]),t.useEffect(()=>{if(c&&p){let e=e=>g(e,p),t=e=>g(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,g,v]),t.useEffect(()=>{if(s){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=c?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,d=a.y;u>n!=d>n&&r<(c-s)*(n-u)/(d-u)+s&&(o=!o)}return o}(r,s);n?v():o&&(v(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,s,d,v]),(0,m.jsx)(H,{...e,ref:a})}),[L,S]=v(R,{isInside:!1}),F=(0,d.createSlottable)("TooltipContent"),H=t.forwardRef((e,r)=>{let{__scopeTooltip:n,children:o,"aria-label":l,onEscapeKeyDown:s,onPointerDownOutside:u,...c}=e,d=T(M,n),p=y(n),{onClose:v}=d;return t.useEffect(()=>(document.addEventListener(h,v),()=>document.removeEventListener(h,v)),[v]),t.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&v()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,v]),(0,m.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:v,children:(0,m.jsxs)(a.Content,{"data-state":d.stateAttribute,...p,...c,ref:r,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,m.jsx)(F,{children:o}),(0,m.jsx)(L,{scope:n,isInside:!0,children:(0,m.jsx)(f.Root,{id:d.contentId,role:"tooltip",children:l||o})})]})})});_.displayName=M;var U="TooltipArrow",W=t.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,o=y(r);return S(U,r).isInside?null:(0,m.jsx)(a.Arrow,{...o,...n,ref:t})});W.displayName=U,e.s(["Arrow",()=>W,"Content",()=>_,"Portal",()=>k,"Provider",()=>C,"Root",()=>j,"Trigger",()=>O])},92608,e=>{"use strict";let t=(0,e.i(31154).default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);e.s(["Server",()=>t],92608)},54560,40146,e=>{"use strict";var t=e.i(59369),r=e.i(99248),n=e.i(83776),o=e.i(52074),i=e.i(57312),l=e.i(76191),a=e.i(22478),s=e.i(91019),u=e.i(72509),c=e.i(7447),d=e.i(91752),p=e.i(52607),f=e.i(94586),m=e.i(24065),v=e.i(2501),g=e.i(90795),y="Dialog",[x,h]=(0,o.createContextScope)(y),[b,w]=x(y),C=e=>{let{__scopeDialog:r,children:n,open:o,defaultOpen:a,onOpenChange:s,modal:u=!0}=e,c=t.useRef(null),d=t.useRef(null),[p,f]=(0,l.useControllableState)({prop:o,defaultProp:a??!1,onChange:s,caller:y});return(0,g.jsx)(b,{scope:r,triggerRef:c,contentRef:d,contentId:(0,i.useId)(),titleId:(0,i.useId)(),descriptionId:(0,i.useId)(),open:p,onOpenChange:f,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),modal:u,children:n})};C.displayName=y;var R="DialogTrigger",E=t.forwardRef((e,t)=>{let{__scopeDialog:o,...i}=e,l=w(R,o),a=(0,n.useComposedRefs)(t,l.triggerRef);return(0,g.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.contentId,"data-state":V(l.open),...i,ref:a,onClick:(0,r.composeEventHandlers)(e.onClick,l.onOpenToggle)})});E.displayName=R;var T="DialogPortal",[j,P]=x(T,{forceMount:void 0}),O=e=>{let{__scopeDialog:r,forceMount:n,children:o,container:i}=e,l=w(T,r);return(0,g.jsx)(j,{scope:r,forceMount:n,children:t.Children.map(o,e=>(0,g.jsx)(c.Presence,{present:n||l.open,children:(0,g.jsx)(u.Portal,{asChild:!0,container:i,children:e})}))})};O.displayName=T;var D="DialogOverlay",N=t.forwardRef((e,t)=>{let r=P(D,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,i=w(D,e.__scopeDialog);return i.modal?(0,g.jsx)(c.Presence,{present:n||i.open,children:(0,g.jsx)(k,{...o,ref:t})}):null});N.displayName=D;var I=(0,v.createSlot)("DialogOverlay.RemoveScroll"),k=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=w(D,r);return(0,g.jsx)(f.RemoveScroll,{as:I,allowPinchZoom:!0,shards:[o.contentRef],children:(0,g.jsx)(d.Primitive.div,{"data-state":V(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),M="DialogContent",_=t.forwardRef((e,t)=>{let r=P(M,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,i=w(M,e.__scopeDialog);return(0,g.jsx)(c.Presence,{present:n||i.open,children:i.modal?(0,g.jsx)(A,{...o,ref:t}):(0,g.jsx)(L,{...o,ref:t})})});_.displayName=M;var A=t.forwardRef((e,o)=>{let i=w(M,e.__scopeDialog),l=t.useRef(null),a=(0,n.useComposedRefs)(o,i.contentRef,l);return t.useEffect(()=>{let e=l.current;if(e)return(0,m.hideOthers)(e)},[]),(0,g.jsx)(S,{...e,ref:a,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),i.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,r.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),L=t.forwardRef((e,r)=>{let n=w(M,e.__scopeDialog),o=t.useRef(!1),i=t.useRef(!1);return(0,g.jsx)(S,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),S=t.forwardRef((e,r)=>{let{__scopeDialog:o,trapFocus:i,onOpenAutoFocus:l,onCloseAutoFocus:u,...c}=e,d=w(M,o),f=t.useRef(null),m=(0,n.useComposedRefs)(r,f);return(0,p.useFocusGuards)(),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(s.FocusScope,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:l,onUnmountAutoFocus:u,children:(0,g.jsx)(a.DismissableLayer,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":V(d.open),...c,ref:m,onDismiss:()=>d.onOpenChange(!1)})}),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(K,{titleId:d.titleId}),(0,g.jsx)(X,{contentRef:f,descriptionId:d.descriptionId})]})]})}),F="DialogTitle",H=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=w(F,r);return(0,g.jsx)(d.Primitive.h2,{id:o.titleId,...n,ref:t})});H.displayName=F;var U="DialogDescription",W=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=w(U,r);return(0,g.jsx)(d.Primitive.p,{id:o.descriptionId,...n,ref:t})});W.displayName=U;var B="DialogClose",$=t.forwardRef((e,t)=>{let{__scopeDialog:n,...o}=e,i=w(B,n);return(0,g.jsx)(d.Primitive.button,{type:"button",...o,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})});function V(e){return e?"open":"closed"}$.displayName=B;var z="DialogTitleWarning",[Y,q]=(0,o.createContext)(z,{contentName:M,titleName:F,docsSlug:"dialog"}),K=({titleId:e})=>{let r=q(z),n=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},X=({contentRef:e,descriptionId:r})=>{let n=q("DialogDescriptionWarning"),o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${n.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");r&&t&&(document.getElementById(r)||console.warn(o))},[o,e,r]),null};e.s(["Close",()=>$,"Content",()=>_,"Description",()=>W,"Overlay",()=>N,"Portal",()=>O,"Root",()=>C,"Title",()=>H,"Trigger",()=>E,"WarningProvider",()=>Y,"createDialogScope",()=>h],54560);let G=(0,e.i(31154).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",()=>G],40146)},95901,e=>{"use strict";let t=(0,e.i(31154).default)("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);e.s(["HardDrive",()=>t],95901)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,61287,e=>{"use strict";var t=e.i(59369),n=e.i(91752),r=e.i(90795),o=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),i=t.forwardRef((e,t)=>(0,r.jsx)(n.Primitive.span,{...e,ref:t,style:{...o,...e.style}}));i.displayName="VisuallyHidden",e.s(["Root",()=>i,"VISUALLY_HIDDEN_STYLES",()=>o])},10514,e=>{"use strict";var t=e.i(21472);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.clsx;e.s(["cva",0,(e,t)=>o=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==o?void 0:o.class,null==o?void 0:o.className);let{variants:l,defaultVariants:a}=t,s=Object.keys(l).map(e=>{let t=null==o?void 0:o[e],r=null==a?void 0:a[e];if(null===t)return null;let i=n(t)||n(r);return l[e][i]}),u=o&&Object.entries(o).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return r(e,s,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:n,className:r,...o}=t;return Object.entries(o).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...a,...u}[t]):({...a,...u})[t]===n})?[...e,n,r]:e},[]),null==o?void 0:o.class,null==o?void 0:o.className)}])},7447,e=>{"use strict";var t=e.i(59369),n=e.i(83776),r=e.i(10500),o=e=>{var o;let l,a,{present:s,children:u}=e,c=function(e){var n,o;let[l,a]=t.useState(),s=t.useRef(null),u=t.useRef(e),c=t.useRef("none"),[d,p]=(n=e?"mounted":"unmounted",o={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>o[e][t]??e,n));return t.useEffect(()=>{let e=i(s.current);c.current="mounted"===d?e:"none"},[d]),(0,r.useLayoutEffect)(()=>{let t=s.current,n=u.current;if(n!==e){let r=c.current,o=i(t);e?p("MOUNT"):"none"===o||t?.display==="none"?p("UNMOUNT"):n&&r!==o?p("ANIMATION_OUT"):p("UNMOUNT"),u.current=e}},[e,p]),(0,r.useLayoutEffect)(()=>{if(l){let e,t=l.ownerDocument.defaultView??window,n=n=>{let r=i(s.current).includes(CSS.escape(n.animationName));if(n.target===l&&r&&(p("ANIMATION_END"),!u.current)){let n=l.style.animationFillMode;l.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===l.style.animationFillMode&&(l.style.animationFillMode=n)})}},r=e=>{e.target===l&&(c.current=i(s.current))};return l.addEventListener("animationstart",r),l.addEventListener("animationcancel",n),l.addEventListener("animationend",n),()=>{t.clearTimeout(e),l.removeEventListener("animationstart",r),l.removeEventListener("animationcancel",n),l.removeEventListener("animationend",n)}}p("ANIMATION_END")},[l,p]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{s.current=e?getComputedStyle(e):null,a(e)},[])}}(s),d="function"==typeof u?u({present:c.isPresent}):t.Children.only(u),p=(0,n.useComposedRefs)(c.ref,(o=d,(a=(l=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?o.ref:(a=(l=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?o.props.ref:o.props.ref||o.ref));return"function"==typeof u||c.isPresent?t.cloneElement(d,{ref:p}):null};function i(e){return e?.animationName||"none"}o.displayName="Presence",e.s(["Presence",()=>o])},92608,e=>{"use strict";let t=(0,e.i(31154).default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);e.s(["Server",()=>t],92608)},42733,e=>{"use strict";var t=e.i(59369),n=e.i(99248),r=e.i(83776),o=e.i(52074),i=e.i(22478),l=e.i(57312),a=e.i(29719),s=e.i(72509),u=e.i(7447),c=e.i(91752),d=e.i(2501),p=e.i(76191),f=e.i(61287),m=e.i(90795),[v,y]=(0,o.createContextScope)("Tooltip",[a.createPopperScope]),x=(0,a.createPopperScope)(),g="TooltipProvider",h="tooltip.open",[w,b]=v(g),T=e=>{let{__scopeTooltip:n,delayDuration:r=700,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:l}=e,a=t.useRef(!0),s=t.useRef(!1),u=t.useRef(0);return t.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,m.jsx)(w,{scope:n,isOpenDelayedRef:a,delayDuration:r,onOpen:t.useCallback(()=>{window.clearTimeout(u.current),a.current=!1},[]),onClose:t.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:t.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:l})};T.displayName=g;var C="Tooltip",[E,R]=v(C),N=e=>{let{__scopeTooltip:n,children:r,open:o,defaultOpen:i,onOpenChange:s,disableHoverableContent:u,delayDuration:c}=e,d=b(C,e.__scopeTooltip),f=x(n),[v,y]=t.useState(null),g=(0,l.useId)(),w=t.useRef(0),T=u??d.disableHoverableContent,R=c??d.delayDuration,N=t.useRef(!1),[O,P]=(0,p.useControllableState)({prop:o,defaultProp:i??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(h))):d.onClose(),s?.(e)},caller:C}),j=t.useMemo(()=>O?N.current?"delayed-open":"instant-open":"closed",[O]),L=t.useCallback(()=>{window.clearTimeout(w.current),w.current=0,N.current=!1,P(!0)},[P]),k=t.useCallback(()=>{window.clearTimeout(w.current),w.current=0,P(!1)},[P]),M=t.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{N.current=!0,P(!0),w.current=0},R)},[R,P]);return t.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),(0,m.jsx)(a.Root,{...f,children:(0,m.jsx)(E,{scope:n,contentId:g,open:O,stateAttribute:j,trigger:v,onTriggerChange:y,onTriggerEnter:t.useCallback(()=>{d.isOpenDelayedRef.current?M():L()},[d.isOpenDelayedRef,M,L]),onTriggerLeave:t.useCallback(()=>{T?k():(window.clearTimeout(w.current),w.current=0)},[k,T]),onOpen:L,onClose:k,disableHoverableContent:T,children:r})})};N.displayName=C;var O="TooltipTrigger",P=t.forwardRef((e,o)=>{let{__scopeTooltip:i,...l}=e,s=R(O,i),u=b(O,i),d=x(i),p=t.useRef(null),f=(0,r.useComposedRefs)(o,p,s.onTriggerChange),v=t.useRef(!1),y=t.useRef(!1),g=t.useCallback(()=>v.current=!1,[]);return t.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),(0,m.jsx)(a.Anchor,{asChild:!0,...d,children:(0,m.jsx)(c.Primitive.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...l,ref:f,onPointerMove:(0,n.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(y.current||u.isPointerInTransitRef.current||(s.onTriggerEnter(),y.current=!0))}),onPointerLeave:(0,n.composeEventHandlers)(e.onPointerLeave,()=>{s.onTriggerLeave(),y.current=!1}),onPointerDown:(0,n.composeEventHandlers)(e.onPointerDown,()=>{s.open&&s.onClose(),v.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{v.current||s.onOpen()}),onBlur:(0,n.composeEventHandlers)(e.onBlur,s.onClose),onClick:(0,n.composeEventHandlers)(e.onClick,s.onClose)})})});P.displayName=O;var j="TooltipPortal",[L,k]=v(j,{forceMount:void 0}),M=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,i=R(j,t);return(0,m.jsx)(L,{scope:t,forceMount:n,children:(0,m.jsx)(u.Presence,{present:n||i.open,children:(0,m.jsx)(s.Portal,{asChild:!0,container:o,children:r})})})};M.displayName=j;var A="TooltipContent",I=t.forwardRef((e,t)=>{let n=k(A,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,l=R(A,e.__scopeTooltip);return(0,m.jsx)(u.Presence,{present:r||l.open,children:l.disableHoverableContent?(0,m.jsx)(H,{side:o,...i,ref:t}):(0,m.jsx)(S,{side:o,...i,ref:t})})}),S=t.forwardRef((e,n)=>{let o=R(A,e.__scopeTooltip),i=b(A,e.__scopeTooltip),l=t.useRef(null),a=(0,r.useComposedRefs)(n,l),[s,u]=t.useState(null),{trigger:c,onClose:d}=o,p=l.current,{onPointerInTransitChange:f}=i,v=t.useCallback(()=>{u(null),f(!1)},[f]),y=t.useCallback((e,t)=>{let n,r=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw Error("unreachable")}}(o,r.getBoundingClientRect());u(((n=[...function(e,t,n=5){let r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}(o,i),...function(e){let{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return(n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y)?t:t.concat(n)}(n))),f(!0)},[f]);return t.useEffect(()=>()=>v(),[v]),t.useEffect(()=>{if(c&&p){let e=e=>y(e,p),t=e=>y(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,y,v]),t.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||p?.contains(t),o=!function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,d=a.y;u>r!=d>r&&n<(c-s)*(r-u)/(d-u)+s&&(o=!o)}return o}(n,s);r?v():o&&(v(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,s,d,v]),(0,m.jsx)(H,{...e,ref:a})}),[D,_]=v(C,{isInside:!1}),U=(0,d.createSlottable)("TooltipContent"),H=t.forwardRef((e,n)=>{let{__scopeTooltip:r,children:o,"aria-label":l,onEscapeKeyDown:s,onPointerDownOutside:u,...c}=e,d=R(A,r),p=x(r),{onClose:v}=d;return t.useEffect(()=>(document.addEventListener(h,v),()=>document.removeEventListener(h,v)),[v]),t.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&v()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,v]),(0,m.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:v,children:(0,m.jsxs)(a.Content,{"data-state":d.stateAttribute,...p,...c,ref:n,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,m.jsx)(U,{children:o}),(0,m.jsx)(D,{scope:r,isInside:!0,children:(0,m.jsx)(f.Root,{id:d.contentId,role:"tooltip",children:l||o})})]})})});I.displayName=A;var F="TooltipArrow",B=t.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,o=x(n);return _(F,n).isInside?null:(0,m.jsx)(a.Arrow,{...o,...r,ref:t})});B.displayName=F,e.s(["Arrow",()=>B,"Content",()=>I,"Portal",()=>M,"Provider",()=>T,"Root",()=>N,"Trigger",()=>P])},28158,e=>{"use strict";var t=e.i(90795),n=e.i(19264);function r(){return(0,t.jsx)(n.OverviewContent,{})}e.s(["default",()=>r])}]);