@drewpayment/mink 0.5.1 → 0.6.1

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 (126) hide show
  1. package/README.md +35 -0
  2. package/dashboard/out/404.html +1 -1
  3. package/dashboard/out/_next/static/FiL3S_40BA764FL66DRZV/_buildManifest.js +1 -0
  4. package/dashboard/out/_next/static/chunks/189-fe789442321eb5eb.js +1 -0
  5. package/dashboard/out/_next/static/chunks/255-6b79f309a27fb98b.js +1 -0
  6. package/dashboard/out/_next/static/chunks/4bd1b696-c023c6e3521b1417.js +1 -0
  7. package/dashboard/out/_next/static/chunks/738-11c31dcbdbb98d77.js +1 -0
  8. package/dashboard/out/_next/static/chunks/926-6421b9e9b03abc7b.js +1 -0
  9. package/dashboard/out/_next/static/chunks/app/(panels)/action-log/page-1f507b433af52d16.js +1 -0
  10. package/dashboard/out/_next/static/chunks/app/(panels)/activity/page-096a97ba539d5323.js +1 -0
  11. package/dashboard/out/_next/static/chunks/app/(panels)/bugs/page-449d31c133432458.js +1 -0
  12. package/dashboard/out/_next/static/chunks/app/(panels)/capture/page-c6617aa0a8a7333e.js +1 -0
  13. package/dashboard/out/_next/static/chunks/app/(panels)/config/page-aa0a0623b3fdd0d8.js +1 -0
  14. package/dashboard/out/_next/static/chunks/app/(panels)/daemon/page-7cd3fac2f5d87a0d.js +1 -0
  15. package/dashboard/out/_next/static/chunks/app/(panels)/design/page-5304675c96b6793b.js +1 -0
  16. package/dashboard/out/_next/static/chunks/app/(panels)/discord/page-9940dde80ba2a69e.js +1 -0
  17. package/dashboard/out/_next/static/chunks/app/(panels)/file-index/page-ecd8a753614e981e.js +1 -0
  18. package/dashboard/out/_next/static/chunks/app/(panels)/insights/page-7909d8beb8d8ef7a.js +1 -0
  19. package/dashboard/out/_next/static/chunks/app/(panels)/learning/page-b766adc79099adb4.js +1 -0
  20. package/dashboard/out/_next/static/chunks/app/(panels)/overview/page-7a9e86dcde67d6a9.js +1 -0
  21. package/dashboard/out/_next/static/chunks/app/(panels)/scheduler/page-a88f93204c9742a1.js +1 -0
  22. package/dashboard/out/_next/static/chunks/app/(panels)/sync/page-8a9ad4c36aa6cb65.js +1 -0
  23. package/dashboard/out/_next/static/chunks/app/(panels)/tokens/page-8dac7d50d4db2756.js +1 -0
  24. package/dashboard/out/_next/static/chunks/app/(panels)/waste/page-bcf56144faf7d133.js +1 -0
  25. package/dashboard/out/_next/static/chunks/app/(panels)/wiki/page-a32fdbd0bf58b30b.js +1 -0
  26. package/dashboard/out/_next/static/chunks/app/_not-found/page-dc2312ec30d73c4e.js +1 -0
  27. package/dashboard/out/_next/static/chunks/app/layout-782cd26e0ccc4514.js +1 -0
  28. package/dashboard/out/_next/static/chunks/app/page-6aca8457abc5d313.js +1 -0
  29. package/dashboard/out/_next/static/chunks/framework-050c1f32293f7182.js +1 -0
  30. package/dashboard/out/_next/static/chunks/main-app-c2dc0acf542ec1c6.js +1 -0
  31. package/dashboard/out/_next/static/chunks/main-ed79d05490604b83.js +1 -0
  32. package/dashboard/out/_next/static/chunks/pages/_app-7d307437aca18ad4.js +1 -0
  33. package/dashboard/out/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js +1 -0
  34. package/dashboard/out/_next/static/chunks/webpack-4e3139a490df1cfe.js +1 -0
  35. package/dashboard/out/_next/static/css/5e43917ea49c5b3e.css +1 -0
  36. package/dashboard/out/_next/static/media/0aa834ed78bf6d07-s.woff2 +0 -0
  37. package/dashboard/out/_next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  38. package/dashboard/out/_next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  39. package/dashboard/out/_next/static/media/67957d42bae0796d-s.woff2 +0 -0
  40. package/dashboard/out/_next/static/media/886030b0b59bc5a7-s.woff2 +0 -0
  41. package/dashboard/out/_next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  42. package/dashboard/out/_next/static/media/939c4f875ee75fbb-s.woff2 +0 -0
  43. package/dashboard/out/_next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  44. package/dashboard/out/_next/static/media/bb3ef058b751a6ad-s.p.woff2 +0 -0
  45. package/dashboard/out/_next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  46. package/dashboard/out/_next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  47. package/dashboard/out/_next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  48. package/dashboard/out/_next/static/media/f911b923c6adde36-s.woff2 +0 -0
  49. package/dashboard/out/action-log.html +1 -1
  50. package/dashboard/out/action-log.txt +23 -22
  51. package/dashboard/out/activity.html +1 -1
  52. package/dashboard/out/activity.txt +23 -22
  53. package/dashboard/out/bugs.html +1 -1
  54. package/dashboard/out/bugs.txt +23 -22
  55. package/dashboard/out/capture.html +1 -0
  56. package/dashboard/out/capture.txt +24 -0
  57. package/dashboard/out/config.html +1 -0
  58. package/dashboard/out/config.txt +24 -0
  59. package/dashboard/out/daemon.html +1 -0
  60. package/dashboard/out/daemon.txt +24 -0
  61. package/dashboard/out/design.html +1 -1
  62. package/dashboard/out/design.txt +23 -22
  63. package/dashboard/out/discord.html +1 -0
  64. package/dashboard/out/discord.txt +24 -0
  65. package/dashboard/out/file-index.html +1 -1
  66. package/dashboard/out/file-index.txt +23 -22
  67. package/dashboard/out/index.html +1 -1
  68. package/dashboard/out/index.txt +23 -22
  69. package/dashboard/out/insights.html +1 -1
  70. package/dashboard/out/insights.txt +23 -22
  71. package/dashboard/out/learning.html +1 -1
  72. package/dashboard/out/learning.txt +23 -22
  73. package/dashboard/out/overview.html +1 -1
  74. package/dashboard/out/overview.txt +23 -22
  75. package/dashboard/out/scheduler.html +1 -1
  76. package/dashboard/out/scheduler.txt +23 -22
  77. package/dashboard/out/sync.html +1 -0
  78. package/dashboard/out/sync.txt +24 -0
  79. package/dashboard/out/tokens.html +1 -1
  80. package/dashboard/out/tokens.txt +23 -22
  81. package/dashboard/out/waste.html +1 -0
  82. package/dashboard/out/waste.txt +24 -0
  83. package/dashboard/out/wiki.html +1 -0
  84. package/dashboard/out/wiki.txt +24 -0
  85. package/dist/cli.js +1705 -892
  86. package/package.json +1 -1
  87. package/src/commands/skill.ts +16 -1
  88. package/src/core/daemon.ts +5 -3
  89. package/src/core/dashboard-api.ts +764 -1
  90. package/src/core/dashboard-server.ts +270 -0
  91. package/src/core/runtime.ts +7 -4
  92. package/src/core/vault.ts +4 -4
  93. package/src/types/config.ts +9 -1
  94. package/src/types/dashboard.ts +84 -1
  95. package/dashboard/out/_next/static/1wsj8DdMTS0IF2Rk9fkxV/_buildManifest.js +0 -1
  96. package/dashboard/out/_next/static/chunks/160-3e240a3c66269b3f.js +0 -1
  97. package/dashboard/out/_next/static/chunks/212-0f603e7affd3ee2a.js +0 -4
  98. package/dashboard/out/_next/static/chunks/255-b047925426c4e4ba.js +0 -1
  99. package/dashboard/out/_next/static/chunks/4bd1b696-409494caf8c83275.js +0 -1
  100. package/dashboard/out/_next/static/chunks/55-079130502e972d37.js +0 -1
  101. package/dashboard/out/_next/static/chunks/692-9c8d44014aa1813d.js +0 -1
  102. package/dashboard/out/_next/static/chunks/717-3d920b69f8c31178.js +0 -1
  103. package/dashboard/out/_next/static/chunks/752-8a8e79b1a2a3b489.js +0 -1
  104. package/dashboard/out/_next/static/chunks/83-ddf005b52ec7bd16.js +0 -1
  105. package/dashboard/out/_next/static/chunks/845-bed7bdd2fed7ff76.js +0 -1
  106. package/dashboard/out/_next/static/chunks/app/(panels)/action-log/page-c52cf3851d9d92d5.js +0 -1
  107. package/dashboard/out/_next/static/chunks/app/(panels)/activity/page-25a84ac9ddbbc077.js +0 -1
  108. package/dashboard/out/_next/static/chunks/app/(panels)/bugs/page-7de0b71150a91377.js +0 -1
  109. package/dashboard/out/_next/static/chunks/app/(panels)/design/page-a2153b4f18533187.js +0 -1
  110. package/dashboard/out/_next/static/chunks/app/(panels)/file-index/page-b37bdd2344d3f81c.js +0 -1
  111. package/dashboard/out/_next/static/chunks/app/(panels)/insights/page-b9cea601167e83d1.js +0 -1
  112. package/dashboard/out/_next/static/chunks/app/(panels)/learning/page-faa4afcf1473c9e5.js +0 -1
  113. package/dashboard/out/_next/static/chunks/app/(panels)/overview/page-354f274bc72789a8.js +0 -1
  114. package/dashboard/out/_next/static/chunks/app/(panels)/scheduler/page-fc11b7fbbd04a4d7.js +0 -1
  115. package/dashboard/out/_next/static/chunks/app/(panels)/tokens/page-c08c102aa883500a.js +0 -1
  116. package/dashboard/out/_next/static/chunks/app/_not-found/page-88217a29323e3700.js +0 -1
  117. package/dashboard/out/_next/static/chunks/app/layout-93083f9f140da937.js +0 -1
  118. package/dashboard/out/_next/static/chunks/app/page-0e7a5cffcfa1d064.js +0 -1
  119. package/dashboard/out/_next/static/chunks/framework-1a308e28e19f1a97.js +0 -1
  120. package/dashboard/out/_next/static/chunks/main-7c6d83fa0f7c5e5b.js +0 -1
  121. package/dashboard/out/_next/static/chunks/main-app-2f83d483d67187ef.js +0 -1
  122. package/dashboard/out/_next/static/chunks/pages/_app-5addca2b3b969fde.js +0 -1
  123. package/dashboard/out/_next/static/chunks/pages/_error-022e4ac7bbb9914f.js +0 -1
  124. package/dashboard/out/_next/static/chunks/webpack-ee71d9ae9be3609d.js +0 -1
  125. package/dashboard/out/_next/static/css/cfd58816f9a2afb9.css +0 -1
  126. /package/dashboard/out/_next/static/{1wsj8DdMTS0IF2Rk9fkxV → FiL3S_40BA764FL66DRZV}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -24,6 +24,27 @@ Mink intercepts these lifecycle events and maintains structured state so the ass
24
24
  - **Chat with Mink from Discord** — DM your bot to capture, search, and summarize your wiki from anywhere via Claude Code Channels
25
25
  - **Sync across machines** with git-backed `~/.mink` syncing — auto-pull on session start, auto-push on session stop
26
26
 
27
+ ## Dashboard Preview
28
+
29
+ Launch `mink dashboard` and hit `http://localhost:4040` for a real-time command center — live sessions, token savings, scheduler, vault browser, daemon controls, and a streaming activity rail powered by the same hooks Mink uses internally.
30
+
31
+ ![Sessions overview — tokens, reads/writes, 7-day usage chart, session history, and live activity rail](docs/images/sessions-overview.png)
32
+
33
+ <table>
34
+ <tr>
35
+ <td><img src="docs/images/tokens.png" alt="Token ledger with daily usage chart and per-session breakdown" /></td>
36
+ <td><img src="docs/images/vault.png" alt="Vault browser — tree, notes table, and note preview with backlinks" /></td>
37
+ </tr>
38
+ <tr>
39
+ <td><img src="docs/images/scheduler.png" alt="Scheduler — cron-backed tasks with success rate and dead-letter queue" /></td>
40
+ <td><img src="docs/images/daemon.png" alt="Daemon panel — status, uptime, heartbeat, and hook wiring table" /></td>
41
+ </tr>
42
+ </table>
43
+
44
+ When the daemon isn't running yet, the dashboard greets you with a guided onboarding panel instead of empty stats:
45
+
46
+ ![Onboarding — welcome back screen shown when the daemon is offline](docs/images/onboarding.png)
47
+
27
48
  ## How It Works
28
49
 
29
50
  Mink registers as a set of [Claude Code hooks](https://docs.anthropic.com/en/docs/claude-code/hooks) that fire on key lifecycle events. Each hook is a lightweight CLI call that reads and updates JSON state files stored in `~/.mink/`.
@@ -117,6 +138,20 @@ bun add -g @drewpayment/mink
117
138
  npm install -g @drewpayment/mink
118
139
  ```
119
140
 
141
+ > **Bun users:** Bun blocks `postinstall` scripts by default for security. Mink's `postinstall` compiles the CLI binary, so you need to trust the package for it to run:
142
+ >
143
+ > ```bash
144
+ > bun pm trust @drewpayment/mink
145
+ > ```
146
+ >
147
+ > If you installed globally and `mink` isn't on your PATH, run `bun pm trust -g @drewpayment/mink` instead. You can also allowlist Mink permanently by adding it to `trustedDependencies` in your `package.json`:
148
+ >
149
+ > ```json
150
+ > {
151
+ > "trustedDependencies": ["@drewpayment/mink"]
152
+ > }
153
+ > ```
154
+
120
155
  ### Initialize in a project
121
156
 
122
157
  From your project root:
@@ -1 +1 @@
1
- <!DOCTYPE html><!--1wsj8DdMTS0IF2Rk9fkxV--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/cfd58816f9a2afb9.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ee71d9ae9be3609d.js"/><script src="/_next/static/chunks/4bd1b696-409494caf8c83275.js" async=""></script><script src="/_next/static/chunks/255-b047925426c4e4ba.js" async=""></script><script src="/_next/static/chunks/main-app-2f83d483d67187ef.js" async=""></script><script src="/_next/static/chunks/160-3e240a3c66269b3f.js" async=""></script><script src="/_next/static/chunks/717-3d920b69f8c31178.js" async=""></script><script src="/_next/static/chunks/692-9c8d44014aa1813d.js" async=""></script><script src="/_next/static/chunks/752-8a8e79b1a2a3b489.js" async=""></script><script src="/_next/static/chunks/app/layout-93083f9f140da937.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Mink Dashboard</title><meta name="description" content="Real-time dashboard for Mink token intelligence"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","mink-theme","system",null,["light","dark"],null,true,true)</script><div class="flex h-screen overflow-hidden"><aside class="flex h-full w-56 flex-col border-r border-border bg-card"><div class="flex items-center gap-2 border-b border-border px-4 py-4"><div class="flex h-7 w-7 items-center justify-center rounded-md bg-primary text-primary-foreground text-sm font-bold">M</div><span class="text-sm font-semibold tracking-tight">Mink</span></div><nav class="flex-1 overflow-y-auto px-2 py-2"><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/overview"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="truncate">Overview</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/activity"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="truncate">Activity</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/tokens"><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-coins h-4 w-4 shrink-0" aria-hidden="true"><path d="M13.744 17.736a6 6 0 1 1-7.48-7.48"></path><path d="M15 6h1v4"></path><path d="m6.134 14.768.866-.5 2 3.464"></path><circle cx="16" cy="8" r="6"></circle></svg><span class="truncate">Token Intelligence</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/scheduler"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock h-4 w-4 shrink-0" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg><span class="truncate">Scheduler</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/learning"><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-brain h-4 w-4 shrink-0" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg><span class="truncate">Learning Memory</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/action-log"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scroll-text h-4 w-4 shrink-0" aria-hidden="true"><path d="M15 12h-5"></path><path d="M15 8h-5"></path><path d="M19 17V5a2 2 0 0 0-2-2H4"></path><path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"></path></svg><span class="truncate">Action Log</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/file-index"><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-folder-search h-4 w-4 shrink-0" aria-hidden="true"><path d="M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1"></path><path d="m21 21-1.9-1.9"></path><circle cx="17" cy="17" r="3"></circle></svg><span class="truncate">File Index</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/bugs"><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-bug h-4 w-4 shrink-0" aria-hidden="true"><path d="M12 20v-9"></path><path d="M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z"></path><path d="M14.12 3.88 16 2"></path><path d="M21 21a4 4 0 0 0-3.81-4"></path><path d="M21 5a4 4 0 0 1-3.55 3.97"></path><path d="M22 13h-4"></path><path d="M3 21a4 4 0 0 1 3.81-4"></path><path d="M3 5a4 4 0 0 0 3.55 3.97"></path><path d="M6 13H2"></path><path d="m8 2 1.88 1.88"></path><path d="M9 7.13V6a3 3 0 1 1 6 0v1.13"></path></svg><span class="truncate">Bug Log</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/insights"><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-lightbulb h-4 w-4 shrink-0" aria-hidden="true"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg><span class="truncate">AI Insights</span></a><a class="flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent hover:text-accent-foreground" href="/design"><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-image h-4 w-4 shrink-0" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><circle cx="9" cy="9" r="2"></circle><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path></svg><span class="truncate">Design Eval</span></a></nav></aside><div class="flex flex-1 flex-col overflow-hidden"><header class="flex h-12 items-center justify-between border-b border-border bg-card px-4"><div class="flex items-center gap-3"><h1 class="text-sm font-medium">Mink</h1></div><div class="flex items-center gap-4"><div class="flex items-center gap-2 text-xs"><div class="h-2 w-2 rounded-full bg-red-500 animate-pulse"></div><span class="text-muted-foreground">Disconnected</span></div><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9 h-8 w-8"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun h-4 w-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><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-moon absolute h-4 w-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span class="sr-only">Toggle theme</span></button></div></header><main class="flex-1 overflow-y-auto p-6"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div></div><script src="/_next/static/chunks/webpack-ee71d9ae9be3609d.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[5379,[\"160\",\"static/chunks/160-3e240a3c66269b3f.js\",\"717\",\"static/chunks/717-3d920b69f8c31178.js\",\"692\",\"static/chunks/692-9c8d44014aa1813d.js\",\"752\",\"static/chunks/752-8a8e79b1a2a3b489.js\",\"177\",\"static/chunks/app/layout-93083f9f140da937.js\"],\"ThemeProvider\"]\n3:I[82800,[\"160\",\"static/chunks/160-3e240a3c66269b3f.js\",\"717\",\"static/chunks/717-3d920b69f8c31178.js\",\"692\",\"static/chunks/692-9c8d44014aa1813d.js\",\"752\",\"static/chunks/752-8a8e79b1a2a3b489.js\",\"177\",\"static/chunks/app/layout-93083f9f140da937.js\"],\"SSEProvider\"]\n4:I[67757,[\"160\",\"static/chunks/160-3e240a3c66269b3f.js\",\"717\",\"static/chunks/717-3d920b69f8c31178.js\",\"692\",\"static/chunks/692-9c8d44014aa1813d.js\",\"752\",\"static/chunks/752-8a8e79b1a2a3b489.js\",\"177\",\"static/chunks/app/layout-93083f9f140da937.js\"],\"Sidebar\"]\n5:I[15127,[\"160\",\"static/chunks/160-3e240a3c66269b3f.js\",\"717\",\"static/chunks/717-3d920b69f8c31178.js\",\"692\",\"static/chunks/692-9c8d44014aa1813d.js\",\"752\",\"static/chunks/752-8a8e79b1a2a3b489.js\",\"177\",\"static/chunks/app/layout-93083f9f140da937.js\"],\"Header\"]\n6:I[9766,[],\"\"]\n7:I[98924,[],\"\"]\n8:I[24431,[],\"OutletBoundary\"]\na:I[15278,[],\"AsyncMetadataOutlet\"]\nc:I[24431,[],\"ViewportBoundary\"]\ne:I[24431,[],\"MetadataBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[57150,[],\"\"]\n:HL[\"/_next/static/css/cfd58816f9a2afb9.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1wsj8DdMTS0IF2Rk9fkxV\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/cfd58816f9a2afb9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"storageKey\":\"mink-theme\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex flex-1 flex-col overflow-hidden\",\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-y-auto p-6\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}]]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],null],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":\"$L10\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"b:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Mink Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Real-time dashboard for Mink token intelligence\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:\"$b:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--FiL3S_40BA764FL66DRZV--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/5e43917ea49c5b3e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4e3139a490df1cfe.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-6b79f309a27fb98b.js" async=""></script><script src="/_next/static/chunks/main-app-c2dc0acf542ec1c6.js" async=""></script><script src="/_next/static/chunks/189-fe789442321eb5eb.js" async=""></script><script src="/_next/static/chunks/app/layout-782cd26e0ccc4514.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Mink — Command Center</title><meta name="description" content="Real-time dashboard for Mink token intelligence"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 __variable_3c557b" data-theme="dark" data-accent="green" data-density="compact" data-live="on" data-daemon="offline"><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){}})("data-theme","mink-theme","dark",null,["light","dark"],{"light":"light","dark":"dark"},true,true)</script><div id="app-root"><div class="shell"><aside class="sidebar"><div class="sb-head"><div class="sb-logo">M</div><div class="sb-title">Mink</div><div class="sb-sub">v1</div></div><div class="sb-project"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"></path></svg><div style="min-width:0;flex:1"><div class="pname">Mink</div><div class="pslug"></div></div><svg class="icn pchev" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></div><div><div class="sb-group">Overview</div><a class="sb-item" href="/overview"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg><span>Sessions</span></a><a class="sb-item" href="/activity"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h4l2-7 4 14 2-7h6"></path></svg><span>Activity log</span></a><a class="sb-item" href="/tokens"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3"></path></svg><span>Token ledger</span></a><a class="sb-item" href="/waste"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l11 20H1L12 2zm0 7v5m0 4v0"></path></svg><span>Waste detect</span></a></div><div><div class="sb-group">Knowledge</div><a class="sb-item" href="/file-index"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z"></path></svg><span>File index</span></a><a class="sb-item" href="/learning"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4a4 4 0 00-4 4v1a3 3 0 00-2 5.5A3 3 0 008 19a4 4 0 004 2 4 4 0 004-2 3 3 0 002-4.5A3 3 0 0016 9V8a4 4 0 00-4-4z"></path></svg><span>Learning</span></a><a class="sb-item" href="/bugs"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M8 8V6a4 4 0 018 0v2M4 13h16M12 8v13M7 21s-3-2-3-8M17 21s3-2 3-8M8 9l-4-3M16 9l4-3M8 13l-4 3M16 13l4 3"></path></svg><span>Bug memory</span></a></div><div><div class="sb-group">Notes &amp; Wiki</div><a class="sb-item" href="/wiki"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16"></path></svg><span>Vault</span></a><a class="sb-item" href="/capture"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"></path></svg><span>Capture</span></a></div><div><div class="sb-group">Operations</div><a class="sb-item" href="/scheduler"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2"></path></svg><span>Scheduler</span></a><a class="sb-item" href="/discord"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M9 14a1 1 0 100-2 1 1 0 000 2zm6 0a1 1 0 100-2 1 1 0 000 2zM7 7l2-1h6l2 1 2 5-1 5-3 1-1-2-4 0-1 2-3-1-1-5z"></path></svg><span>Discord</span></a><a class="sb-item" href="/sync"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M6 3v12M6 15a3 3 0 110 6 3 3 0 010-6zm0-12a3 3 0 110 6 3 3 0 010-6zm12 6a3 3 0 110 6 3 3 0 010-6zM18 9v2a2 2 0 01-2 2H9"></path></svg><span>Sync</span></a></div><div><div class="sb-group">System</div><a class="sb-item" href="/daemon"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6a8 8 0 11-12 0M12 2v8"></path></svg><span>Daemon</span></a><a class="sb-item" href="/config"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 15a3 3 0 100-6 3 3 0 000 6zm8-3l2-1-2-4-2 1-1-1V4h-4v1l-1 1-2-1-2 4 2 1v2l-2 1 2 4 2-1 1 1v1h4v-1l1-1 2 1 2-4-2-1v-2z"></path></svg><span>Configuration</span></a></div><div style="height:20px"></div></aside><header class="topbar"><div class="tb-section"><span class="muted">Mink</span><span class="sep">/</span><span class="muted">Overview</span><span class="sep">/</span><span class="crumb">Sessions</span></div><div class="tb-spacer"></div><div class="cmdk" title="Command palette (coming soon)"><svg class="icn" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z"></path></svg><span>Search files, notes, bugs…</span><kbd>⌘K</kbd></div><span class="daemon-pill" title="Daemon offline"><span class="pulse"></span><span class="mono" style="font-size:10.5px">daemon · offline</span></span><button type="button" class="tb-icon-btn" title="Refresh data"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 019-9c2.5 0 4.7 1 6.3 2.7M21 3v5h-5M21 12a9 9 0 01-9 9c-2.5 0-4.7-1-6.3-2.7M3 21v-5h5"></path></svg></button><button type="button" class="tb-icon-btn" title="Tweaks"><svg class="icn" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4V2m0 14v-2m-7-7h2M22 9h-2M5.6 5.6l1.4 1.4M18.4 5.6L17 7m0 10l1.4 1.4M7 17l-1.4 1.4M14 7l-9 9 3 3 9-9"></path></svg></button><button type="button" class="tb-icon-btn" title="More" aria-label="More"><svg class="icn" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12a1 1 0 102 0 1 1 0 00-2 0zm6 0a1 1 0 102 0 1 1 0 00-2 0zm6 0a1 1 0 102 0 1 1 0 00-2 0z"></path></svg></button></header><main class="main"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main><footer class="statusbar"><span class="sb-stat daemon-stat"><span class="dot-mini"></span><span class="k">daemon</span><span class="v">offline</span></span><span style="flex:1"></span><span class="sb-stat"><span class="k">run</span><span class="v">mink daemon start</span></span></footer></div></div><script src="/_next/static/chunks/webpack-4e3139a490df1cfe.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[5379,[\"189\",\"static/chunks/189-fe789442321eb5eb.js\",\"177\",\"static/chunks/app/layout-782cd26e0ccc4514.js\"],\"ThemeProvider\"]\n3:I[2800,[\"189\",\"static/chunks/189-fe789442321eb5eb.js\",\"177\",\"static/chunks/app/layout-782cd26e0ccc4514.js\"],\"SSEProvider\"]\n4:I[7758,[\"189\",\"static/chunks/189-fe789442321eb5eb.js\",\"177\",\"static/chunks/app/layout-782cd26e0ccc4514.js\"],\"AppShell\"]\n5:I[9766,[],\"\"]\n6:I[8924,[],\"\"]\n7:I[4431,[],\"OutletBoundary\"]\n9:I[5278,[],\"AsyncMetadataOutlet\"]\nb:I[4431,[],\"ViewportBoundary\"]\nd:I[4431,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[7150,[],\"\"]\n:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/5e43917ea49c5b3e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"FiL3S_40BA764FL66DRZV\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5e43917ea49c5b3e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 __variable_3c557b\",\"data-theme\":\"dark\",\"data-accent\":\"green\",\"data-density\":\"compact\",\"data-live\":\"on\",\"data-daemon\":\"offline\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"data-theme\",\"value\":{\"light\":\"light\",\"dark\":\"dark\"},\"defaultTheme\":\"dark\",\"enableSystem\":true,\"storageKey\":\"mink-theme\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"a:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Mink — Command Center\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Real-time dashboard for Mink token intelligence\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(e,r,t,s){return{__rewrites:{afterFiles:[{has:t,source:"/api/:path*",destination:t}],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:19,errorRate:1e-4,numBits:365,numHashes:14,bitArray:[0,0,1,e,1,r,e,e,r,r,r,e,r,e,r,e,r,e,r,r,e,r,e,r,e,r,r,e,r,r,e,r,e,r,e,r,r,e,r,e,r,e,e,e,e,r,e,e,e,e,e,e,e,e,e,r,e,e,e,e,e,e,r,r,e,e,r,e,e,r,e,e,e,r,r,r,r,r,e,e,e,r,r,e,e,r,e,r,e,r,r,r,r,r,r,e,r,r,r,r,e,e,e,r,e,r,e,e,e,r,e,r,e,e,r,e,r,r,e,r,r,r,e,r,r,e,r,r,e,r,e,e,r,r,r,r,r,r,r,r,r,r,r,e,e,e,r,r,r,r,e,r,e,e,e,e,r,r,r,e,e,r,r,r,r,r,e,e,e,e,e,e,r,r,e,r,e,e,r,e,e,e,r,r,r,r,e,r,e,e,r,r,e,e,e,e,e,r,e,e,e,r,e,e,r,e,r,e,r,r,r,e,r,r,e,e,e,r,e,e,e,r,r,e,e,r,e,e,r,r,e,e,r,r,e,r,e,e,r,e,e,r,e,e,e,e,r,r,r,r,r,e,e,r,e,e,r,e,r,e,e,r,r,e,e,e,e,e,e,e,e,e,e,r,r,e,e,e,r,r,r,e,r,r,r,r,r,e,e,r,e,e,r,e,e,r,e,e,r,e,e,r,r,e,r,r,e,e,e,r,r,e,e,e,r,e,e,r,e,e,r,r,r,e,r,r,r,e,r,e,r,e,r,e,e,r,e,e,r,r,r,e,e,e,r,e,e,e,e,r,r,r,r,r,r,e,r,r,e,e,e,r,r,r,e]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:e,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-cb2a52f75f2162e2.js"],sortedPages:["/_app","/_error"]}}(0,1,void 0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[189],{63:(e,t,r)=>{"use strict";var n=r(7260);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}})},369:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}},2296:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return p},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return g},NormalizeError:function(){return h},PageNotFoundError:function(){return y},SP:function(){return d},ST:function(){return m},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return i},getLocationOrigin:function(){return u},getURL:function(){return l},isAbsoluteUrl:function(){return a},isResSent:function(){return s},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return v}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;a<n;a++)o[a]=arguments[a];return r||(r=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>o.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function l(){let{href:e}=window.location,t=u();return e.substring(t.length)}function i(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+i(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let d="undefined"!=typeof performance,m=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class p extends Error{}class h extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},2619:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return y},useLinkStatus:function(){return b}});let n=r(9417),o=r(5155),a=n._(r(2115)),u=r(7670),l=r(6752),i=r(3011),s=r(2296),c=r(6058);r(4781);let f=r(3499),d=r(8607),m=r(1807);r(7045);let p=r(6048);function h(e){return"string"==typeof e?e:(0,u.formatUrl)(e)}function y(e){var t;let r,n,u,[y,b]=(0,a.useOptimistic)(f.IDLE_LINK_STATUS),v=(0,a.useRef)(null),{href:S,as:P,children:_,prefetch:E=null,passHref:O,replace:C,shallow:T,scroll:w,onClick:j,onMouseEnter:I,onTouchStart:k,legacyBehavior:N=!1,onNavigate:A,ref:L,unstable_dynamicOnHover:x,...M}=e;r=_,N&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let R=a.default.useContext(l.AppRouterContext),U=!1!==E,F=!1!==E?null===(t=E)||"auto"===t?p.FetchStrategy.PPR:p.FetchStrategy.Full:p.FetchStrategy.PPR,{href:D,as:K}=a.default.useMemo(()=>{let e=h(S);return{href:e,as:P?h(P):e}},[S,P]);N&&(n=a.default.Children.only(r));let z=N?n&&"object"==typeof n&&n.ref:L,B=a.default.useCallback(e=>(null!==R&&(v.current=(0,f.mountLinkInstance)(e,D,R,F,U,b)),()=>{v.current&&((0,f.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,f.unmountPrefetchableInstance)(e)}),[U,D,R,F,b]),H={ref:(0,i.useMergedRef)(B,z),onClick(e){N||"function"!=typeof j||j(e),N&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),R&&(e.defaultPrevented||function(e,t,r,n,o,u,l){let{nodeName:i}=e.currentTarget;if(!("A"===i.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,d.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}a.default.startTransition(()=>{(0,m.dispatchNavigateAction)(r||t,o?"replace":"push",null==u||u,n.current)})}}(e,D,K,v,C,w,A))},onMouseEnter(e){N||"function"!=typeof I||I(e),N&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),R&&U&&(0,f.onNavigationIntent)(e.currentTarget,!0===x)},onTouchStart:function(e){N||"function"!=typeof k||k(e),N&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),R&&U&&(0,f.onNavigationIntent)(e.currentTarget,!0===x)}};return(0,s.isAbsoluteUrl)(K)?H.href=K:N&&!O&&("a"!==n.type||"href"in n.props)||(H.href=(0,c.addBasePath)(K)),u=N?a.default.cloneElement(n,H):(0,o.jsx)("a",{...M,...H,children:r}),(0,o.jsx)(g.Provider,{value:y,children:u})}let g=(0,a.createContext)(f.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(g);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3011:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=r(2115);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3078:(e,t)=>{"use strict";function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,n(e));else t.set(r,n(o));return t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},5379:(e,t,r)=>{"use strict";r.d(t,{D:()=>s,ThemeProvider:()=>c});var n=r(2115),o=(e,t,r,n,o,a,u,l)=>{let i=document.documentElement,s=["light","dark"];function c(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&a?o.map(e=>a[e]||e):o;r?(i.classList.remove(...n),i.classList.add(a&&a[t]?a[t]:t)):i.setAttribute(e,t)}),r=t,l&&s.includes(r)&&(i.style.colorScheme=r)}if(n)c(n);else try{let e=localStorage.getItem(t)||r,n=u&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}},a=["light","dark"],u="(prefers-color-scheme: dark)",l=n.createContext(void 0),i={setTheme:e=>{},themes:[]},s=()=>{var e;return null!=(e=n.useContext(l))?e:i},c=e=>n.useContext(l)?n.createElement(n.Fragment,null,e.children):n.createElement(d,{...e}),f=["light","dark"],d=e=>{let{forcedTheme:t,disableTransitionOnChange:r=!1,enableSystem:o=!0,enableColorScheme:i=!0,storageKey:s="theme",themes:c=f,defaultTheme:d=o?"system":"light",attribute:g="data-theme",value:b,children:v,nonce:S,scriptProps:P}=e,[_,E]=n.useState(()=>p(s,d)),[O,C]=n.useState(()=>"system"===_?y():_),T=b?Object.values(b):c,w=n.useCallback(e=>{let t=e;if(!t)return;"system"===e&&o&&(t=y());let n=b?b[t]:t,u=r?h(S):null,l=document.documentElement,s=e=>{"class"===e?(l.classList.remove(...T),n&&l.classList.add(n)):e.startsWith("data-")&&(n?l.setAttribute(e,n):l.removeAttribute(e))};if(Array.isArray(g)?g.forEach(s):s(g),i){let e=a.includes(d)?d:null,r=a.includes(t)?t:e;l.style.colorScheme=r}null==u||u()},[S]),j=n.useCallback(e=>{let t="function"==typeof e?e(_):e;E(t);try{localStorage.setItem(s,t)}catch(e){}},[_]),I=n.useCallback(e=>{C(y(e)),"system"===_&&o&&!t&&w("system")},[_,t]);n.useEffect(()=>{let e=window.matchMedia(u);return e.addListener(I),I(e),()=>e.removeListener(I)},[I]),n.useEffect(()=>{let e=e=>{e.key===s&&(e.newValue?E(e.newValue):j(d))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[j]),n.useEffect(()=>{w(null!=t?t:_)},[t,_]);let k=n.useMemo(()=>({theme:_,setTheme:j,forcedTheme:t,resolvedTheme:"system"===_?O:_,themes:o?[...c,"system"]:c,systemTheme:o?O:void 0}),[_,j,t,O,o,c]);return n.createElement(l.Provider,{value:k},n.createElement(m,{forcedTheme:t,storageKey:s,attribute:g,enableSystem:o,enableColorScheme:i,defaultTheme:d,value:b,themes:c,nonce:S,scriptProps:P}),v)},m=n.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:a,enableSystem:u,enableColorScheme:l,defaultTheme:i,value:s,themes:c,nonce:f,scriptProps:d}=e,m=JSON.stringify([a,r,i,t,c,s,u,l]).slice(1,-1);return n.createElement("script",{...d,suppressHydrationWarning:!0,nonce:"",dangerouslySetInnerHTML:{__html:"(".concat(o.toString(),")(").concat(m,")")}})}),p=(e,t)=>{let r;try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t},h=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},y=e=>(e||(e=window.matchMedia(u)),e.matches?"dark":"light")},5959:(e,t,r)=>{"use strict";r.d(t,{v:()=>u});var n=r(2115);let o=e=>{let t,r=new Set,n=(e,n)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=n?n:"object"!=typeof o||null===o)?o:Object.assign({},t,o),r.forEach(r=>r(t,e))}},o=()=>t,a={setState:n,getState:o,getInitialState:()=>u,subscribe:e=>(r.add(e),()=>r.delete(e))},u=t=e(n,o,a);return a},a=e=>{let t=(e=>e?o(e):o)(e),r=e=>(function(e,t=e=>e){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},u=e=>e?a(e):a},7045:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},7670:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return l},urlObjectKeys:function(){return u}});let n=r(9417)._(r(3078)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",u=e.pathname||"",l=e.hash||"",i=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(s+=":"+e.port)),i&&"object"==typeof i&&(i=String(n.urlQueryToSearchParams(i)));let c=e.search||i&&"?"+i||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==s?(s="//"+(s||""),u&&"/"!==u[0]&&(u="/"+u)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),""+a+s+(u=u.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+l}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return a(e)}},7770:e=>{e.exports={style:{fontFamily:"'JetBrains Mono', 'JetBrains Mono Fallback'",fontStyle:"normal"},className:"__className_3c557b",variable:"__variable_3c557b"}},8607:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(2296),o=r(2929);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},9863:(e,t,r)=>{"use strict";function n(e,t){let r;try{r=e()}catch(e){return}return{getItem:e=>{var n;let o=e=>null===e?null:JSON.parse(e,null==t?void 0:t.reviver),a=null!=(n=r.getItem(e))?n:null;return a instanceof Promise?a.then(o):o(a)},setItem:(e,n)=>r.setItem(e,JSON.stringify(n,null==t?void 0:t.replacer)),removeItem:e=>r.removeItem(e)}}r.d(t,{KU:()=>n,Zr:()=>a});let o=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>o(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>o(t)(e)}}},a=(e,t)=>(r,a,u)=>{let l,i={storage:n(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},s=!1,c=0,f=new Set,d=new Set,m=i.storage;if(!m)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),r(...e)},a,u);let p=()=>{let e=i.partialize({...a()});return m.setItem(i.name,{state:e,version:i.version})},h=u.setState;u.setState=(e,t)=>(h(e,t),p());let y=e((...e)=>(r(...e),p()),a,u);u.getInitialState=()=>y;let g=()=>{var e,t;if(!m)return;let n=++c;s=!1,f.forEach(e=>{var t;return e(null!=(t=a())?t:y)});let u=(null==(t=i.onRehydrateStorage)?void 0:t.call(i,null!=(e=a())?e:y))||void 0;return o(m.getItem.bind(m))(i.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===i.version)return[!1,e.state];else{if(i.migrate){let t=i.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(n!==c)return;let[o,u]=e;if(r(l=i.merge(u,null!=(t=a())?t:y),!0),o)return p()}).then(()=>{n===c&&(null==u||u(a(),void 0),l=a(),s=!0,d.forEach(e=>e(l)))}).catch(e=>{n===c&&(null==u||u(void 0,e))})};return u.persist={setOptions:e=>{i={...i,...e},e.storage&&(m=e.storage)},clearStorage:()=>{null==m||m.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>g(),hasHydrated:()=>s,onHydrate:e=>(f.add(e),()=>{f.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},i.skipHydration||g(),l||y}}}]);