@drewpayment/mink 0.12.0-beta.5 → 0.12.0-beta.7

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 (45) hide show
  1. package/dashboard/out/404.html +1 -1
  2. package/dashboard/out/action-log.html +1 -1
  3. package/dashboard/out/action-log.txt +1 -1
  4. package/dashboard/out/activity.html +1 -1
  5. package/dashboard/out/activity.txt +1 -1
  6. package/dashboard/out/bugs.html +1 -1
  7. package/dashboard/out/bugs.txt +1 -1
  8. package/dashboard/out/capture.html +1 -1
  9. package/dashboard/out/capture.txt +1 -1
  10. package/dashboard/out/config.html +1 -1
  11. package/dashboard/out/config.txt +1 -1
  12. package/dashboard/out/daemon.html +1 -1
  13. package/dashboard/out/daemon.txt +1 -1
  14. package/dashboard/out/design.html +1 -1
  15. package/dashboard/out/design.txt +1 -1
  16. package/dashboard/out/discord.html +1 -1
  17. package/dashboard/out/discord.txt +1 -1
  18. package/dashboard/out/file-index.html +1 -1
  19. package/dashboard/out/file-index.txt +1 -1
  20. package/dashboard/out/index.html +1 -1
  21. package/dashboard/out/index.txt +1 -1
  22. package/dashboard/out/insights.html +1 -1
  23. package/dashboard/out/insights.txt +1 -1
  24. package/dashboard/out/learning.html +1 -1
  25. package/dashboard/out/learning.txt +1 -1
  26. package/dashboard/out/overview.html +1 -1
  27. package/dashboard/out/overview.txt +1 -1
  28. package/dashboard/out/scheduler.html +1 -1
  29. package/dashboard/out/scheduler.txt +1 -1
  30. package/dashboard/out/sync.html +1 -1
  31. package/dashboard/out/sync.txt +1 -1
  32. package/dashboard/out/tokens.html +1 -1
  33. package/dashboard/out/tokens.txt +1 -1
  34. package/dashboard/out/waste.html +1 -1
  35. package/dashboard/out/waste.txt +1 -1
  36. package/dashboard/out/wiki.html +1 -1
  37. package/dashboard/out/wiki.txt +1 -1
  38. package/dist/cli.bun.js +44 -24
  39. package/dist/cli.node.js +56 -34
  40. package/package.json +1 -1
  41. package/src/commands/init.ts +30 -14
  42. package/src/commands/status.ts +37 -12
  43. package/src/core/state-aggregator.ts +3 -3
  44. /package/dashboard/out/_next/static/{eZlC6TEe7TWUABN2-Ho0J → _mawjPSnSIjvy8e5jxeZJ}/_buildManifest.js +0 -0
  45. /package/dashboard/out/_next/static/{eZlC6TEe7TWUABN2-Ho0J → _mawjPSnSIjvy8e5jxeZJ}/_ssgManifest.js +0 -0
@@ -15,7 +15,7 @@ f:I[4431,[],"ViewportBoundary"]
15
15
  :HL["/_next/static/media/bb3ef058b751a6ad-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
16
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
17
17
  :HL["/_next/static/css/5e43917ea49c5b3e.css","style"]
18
- 0:{"P":null,"b":"eZlC6TEe7TWUABN2-Ho0J","p":"","c":["","waste"],"i":false,"f":[[["",{"children":["(panels)",{"children":["waste",{"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":[[["$","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":["(panels)",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["waste",["$","$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":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
18
+ 0:{"P":null,"b":"_mawjPSnSIjvy8e5jxeZJ","p":"","c":["","waste"],"i":false,"f":[[["",{"children":["(panels)",{"children":["waste",{"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":[[["$","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":["(panels)",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["waste",["$","$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":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
19
19
  9:{}
20
20
  a:"$0:f:0:1:2:children:2:children:2:children:1:props:children:0:props:params"
21
21
  10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--eZlC6TEe7TWUABN2_Ho0J--><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><script src="/_next/static/chunks/app/(panels)/wiki/page-a32fdbd0bf58b30b.js" async=""></script><meta name="next-size-adjust" content=""/><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 aria-current="page" class="sb-item active" 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">Notes &amp; Wiki</span><span class="sep">/</span><span class="crumb">Vault</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 class="page"><div class="card"><div class="card-head"><h3>Wiki</h3></div><div class="card-body"><div class="empty"><h4>Loading…</h4></div></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[1959,[],\"ClientPageRoot\"]\n8:I[3191,[\"386\",\"static/chunks/app/(panels)/wiki/page-a32fdbd0bf58b30b.js\"],\"default\"]\nb:I[4431,[],\"OutletBoundary\"]\nd:I[5278,[],\"AsyncMetadataOutlet\"]\nf:I[4431,[],\"ViewportBoundary\"]\n11:I[4431,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14: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\":\"eZlC6TEe7TWUABN2-Ho0J\",\"p\":\"\",\"c\":[\"\",\"wiki\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"(panels)\",{\"children\":[\"wiki\",{\"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\":[[[\"$\",\"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\":[\"(panels)\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"wiki\",[\"$\",\"$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\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"e:{\"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,"13:\"$e:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--_mawjPSnSIjvy8e5jxeZJ--><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><script src="/_next/static/chunks/app/(panels)/wiki/page-a32fdbd0bf58b30b.js" async=""></script><meta name="next-size-adjust" content=""/><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 aria-current="page" class="sb-item active" 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">Notes &amp; Wiki</span><span class="sep">/</span><span class="crumb">Vault</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 class="page"><div class="card"><div class="card-head"><h3>Wiki</h3></div><div class="card-body"><div class="empty"><h4>Loading…</h4></div></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[1959,[],\"ClientPageRoot\"]\n8:I[3191,[\"386\",\"static/chunks/app/(panels)/wiki/page-a32fdbd0bf58b30b.js\"],\"default\"]\nb:I[4431,[],\"OutletBoundary\"]\nd:I[5278,[],\"AsyncMetadataOutlet\"]\nf:I[4431,[],\"ViewportBoundary\"]\n11:I[4431,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14: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\":\"_mawjPSnSIjvy8e5jxeZJ\",\"p\":\"\",\"c\":[\"\",\"wiki\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"(panels)\",{\"children\":[\"wiki\",{\"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\":[[[\"$\",\"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\":[\"(panels)\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"wiki\",[\"$\",\"$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\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"e:{\"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,"13:\"$e:metadata\"\n"])</script></body></html>
@@ -15,7 +15,7 @@ f:I[4431,[],"ViewportBoundary"]
15
15
  :HL["/_next/static/media/bb3ef058b751a6ad-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
16
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
17
17
  :HL["/_next/static/css/5e43917ea49c5b3e.css","style"]
18
- 0:{"P":null,"b":"eZlC6TEe7TWUABN2-Ho0J","p":"","c":["","wiki"],"i":false,"f":[[["",{"children":["(panels)",{"children":["wiki",{"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":[[["$","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":["(panels)",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["wiki",["$","$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":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
18
+ 0:{"P":null,"b":"_mawjPSnSIjvy8e5jxeZJ","p":"","c":["","wiki"],"i":false,"f":[[["",{"children":["(panels)",{"children":["wiki",{"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":[[["$","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":["(panels)",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["wiki",["$","$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":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
19
19
  9:{}
20
20
  a:"$0:f:0:1:2:children:2:children:2:children:1:props:children:0:props:params"
21
21
  10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
package/dist/cli.bun.js CHANGED
@@ -5589,6 +5589,7 @@ var init_seed = __esm(() => {
5589
5589
  var exports_init = {};
5590
5590
  __export(exports_init, {
5591
5591
  writeMinkRule: () => writeMinkRule,
5592
+ resolveCliPathFrom: () => resolveCliPathFrom,
5592
5593
  resolveCliPath: () => resolveCliPath,
5593
5594
  mergeHooksIntoSettings: () => mergeHooksIntoSettings,
5594
5595
  init: () => init,
@@ -5606,17 +5607,19 @@ function detectRuntime() {
5606
5607
  return "node";
5607
5608
  }
5608
5609
  }
5609
- function resolveCliPath() {
5610
- const selfPath = new URL(import.meta.url).pathname;
5610
+ function resolveCliPathFrom(selfPath) {
5611
5611
  const selfDir = dirname7(selfPath);
5612
- if (selfPath.endsWith("dist/cli.js")) {
5613
- return selfPath;
5612
+ if (selfPath.endsWith("dist/cli.js") || selfPath.endsWith("dist/cli.bun.js") || selfPath.endsWith("dist/cli.node.js")) {
5613
+ return join18(selfDir, "cli.js");
5614
5614
  }
5615
- const projectRoot = resolve2(selfDir, "../..");
5616
- const distPath = join18(projectRoot, "dist", "cli.js");
5617
- if (existsSync19(distPath))
5618
- return distPath;
5619
- return resolve2(selfDir, "../cli.ts");
5615
+ const packageRoot = resolve2(selfDir, "..", "..");
5616
+ const distShim = join18(packageRoot, "dist", "cli.js");
5617
+ if (existsSync19(distShim))
5618
+ return distShim;
5619
+ return join18(packageRoot, "src", "cli.ts");
5620
+ }
5621
+ function resolveCliPath() {
5622
+ return resolveCliPathFrom(new URL(import.meta.url).pathname);
5620
5623
  }
5621
5624
  function buildHooksConfig(cliPath) {
5622
5625
  const isTsSource = cliPath.endsWith(".ts");
@@ -6528,16 +6531,6 @@ function checkJsonFile(name, filePath, validator) {
6528
6531
  return { name, path: filePath, status: "corrupt" };
6529
6532
  return { name, path: filePath, status: "ok" };
6530
6533
  }
6531
- function checkTextFile(name, filePath) {
6532
- if (!existsSync23(filePath))
6533
- return { name, path: filePath, status: "missing" };
6534
- try {
6535
- readFileSync17(filePath, "utf-8");
6536
- return { name, path: filePath, status: "ok" };
6537
- } catch {
6538
- return { name, path: filePath, status: "corrupt" };
6539
- }
6540
- }
6541
6534
  function checkDbFile(name, filePath) {
6542
6535
  if (!existsSync23(filePath))
6543
6536
  return { name, path: filePath, status: "missing" };
@@ -6551,6 +6544,33 @@ function checkDbFile(name, filePath) {
6551
6544
  return { name, path: filePath, status: "corrupt" };
6552
6545
  }
6553
6546
  }
6547
+ function checkShardedText(name, candidatePaths) {
6548
+ const canonical = candidatePaths[0];
6549
+ for (const p of candidatePaths) {
6550
+ if (!existsSync23(p))
6551
+ continue;
6552
+ try {
6553
+ if (statSync9(p).size === 0)
6554
+ continue;
6555
+ readFileSync17(p, "utf-8");
6556
+ return { name, path: p, status: "ok" };
6557
+ } catch {
6558
+ return { name, path: p, status: "corrupt" };
6559
+ }
6560
+ }
6561
+ return { name, path: canonical, status: "missing" };
6562
+ }
6563
+ function actionLogCandidates(cwd) {
6564
+ const dir = projectDir(cwd);
6565
+ return [
6566
+ actionLogPath(cwd),
6567
+ ...listDeviceShardsAt(dir).map((id) => shardPath(dir, id, "action-log.md"))
6568
+ ];
6569
+ }
6570
+ function learningMemoryCandidates(cwd) {
6571
+ const dir = projectDir(cwd);
6572
+ return [learningMemoryPath(cwd), ...listLearningMemorySidecarPathsAt(dir)];
6573
+ }
6554
6574
  function status(cwd) {
6555
6575
  console.log("[mink] project status");
6556
6576
  console.log();
@@ -6561,8 +6581,8 @@ function status(cwd) {
6561
6581
  checkJsonFile("session.json", sessionPath(cwd)),
6562
6582
  checkDbFile("mink.db", projectDbPath(cwd)),
6563
6583
  checkJsonFile("config.json", configPath(cwd)),
6564
- checkTextFile("learning-memory.md", learningMemoryPath(cwd)),
6565
- checkTextFile("action-log.md", actionLogPath(cwd))
6584
+ checkShardedText("learning-memory.md", learningMemoryCandidates(cwd)),
6585
+ checkShardedText("action-log.md", actionLogCandidates(cwd))
6566
6586
  ];
6567
6587
  console.log(" State files:");
6568
6588
  for (const check of checks) {
@@ -8775,7 +8795,7 @@ function checkJsonFile2(name, filePath, validator) {
8775
8795
  return { name, status: "corrupt" };
8776
8796
  return { name, status: "ok" };
8777
8797
  }
8778
- function checkTextFile2(name, filePath) {
8798
+ function checkTextFile(name, filePath) {
8779
8799
  if (!existsSync27(filePath))
8780
8800
  return { name, status: "missing" };
8781
8801
  try {
@@ -8824,8 +8844,8 @@ function loadOverview(cwd) {
8824
8844
  checkJsonFile2("session.json", sessionPath(cwd)),
8825
8845
  checkDbFile2("mink.db", projectDbPath(cwd)),
8826
8846
  checkJsonFile2("config.json", configPath(cwd)),
8827
- checkTextFile2("learning-memory.md", learningMemoryPath(cwd)),
8828
- checkTextFile2("action-log.md", actionLogPath(cwd)),
8847
+ checkTextFile("learning-memory.md", learningMemoryPath(cwd)),
8848
+ checkTextFile("action-log.md", actionLogPath(cwd)),
8829
8849
  checkJsonFile2("scheduler-manifest.json", schedulerManifestPath(cwd))
8830
8850
  ];
8831
8851
  return { project, daemon, summary, stateFiles };
package/dist/cli.node.js CHANGED
@@ -5759,6 +5759,7 @@ var init_seed = __esm(() => {
5759
5759
  var exports_init = {};
5760
5760
  __export(exports_init, {
5761
5761
  writeMinkRule: () => writeMinkRule,
5762
+ resolveCliPathFrom: () => resolveCliPathFrom,
5762
5763
  resolveCliPath: () => resolveCliPath,
5763
5764
  mergeHooksIntoSettings: () => mergeHooksIntoSettings,
5764
5765
  init: () => init,
@@ -5776,17 +5777,19 @@ function detectRuntime() {
5776
5777
  return "node";
5777
5778
  }
5778
5779
  }
5779
- function resolveCliPath() {
5780
- const selfPath = new URL(import.meta.url).pathname;
5780
+ function resolveCliPathFrom(selfPath) {
5781
5781
  const selfDir = dirname7(selfPath);
5782
- if (selfPath.endsWith("dist/cli.js")) {
5783
- return selfPath;
5782
+ if (selfPath.endsWith("dist/cli.js") || selfPath.endsWith("dist/cli.bun.js") || selfPath.endsWith("dist/cli.node.js")) {
5783
+ return join19(selfDir, "cli.js");
5784
5784
  }
5785
- const projectRoot = resolve2(selfDir, "../..");
5786
- const distPath = join19(projectRoot, "dist", "cli.js");
5787
- if (existsSync20(distPath))
5788
- return distPath;
5789
- return resolve2(selfDir, "../cli.ts");
5785
+ const packageRoot = resolve2(selfDir, "..", "..");
5786
+ const distShim = join19(packageRoot, "dist", "cli.js");
5787
+ if (existsSync20(distShim))
5788
+ return distShim;
5789
+ return join19(packageRoot, "src", "cli.ts");
5790
+ }
5791
+ function resolveCliPath() {
5792
+ return resolveCliPathFrom(new URL(import.meta.url).pathname);
5790
5793
  }
5791
5794
  function buildHooksConfig(cliPath) {
5792
5795
  const isTsSource = cliPath.endsWith(".ts");
@@ -6698,16 +6701,6 @@ function checkJsonFile(name, filePath, validator) {
6698
6701
  return { name, path: filePath, status: "corrupt" };
6699
6702
  return { name, path: filePath, status: "ok" };
6700
6703
  }
6701
- function checkTextFile(name, filePath) {
6702
- if (!existsSync24(filePath))
6703
- return { name, path: filePath, status: "missing" };
6704
- try {
6705
- readFileSync17(filePath, "utf-8");
6706
- return { name, path: filePath, status: "ok" };
6707
- } catch {
6708
- return { name, path: filePath, status: "corrupt" };
6709
- }
6710
- }
6711
6704
  function checkDbFile(name, filePath) {
6712
6705
  if (!existsSync24(filePath))
6713
6706
  return { name, path: filePath, status: "missing" };
@@ -6721,6 +6714,33 @@ function checkDbFile(name, filePath) {
6721
6714
  return { name, path: filePath, status: "corrupt" };
6722
6715
  }
6723
6716
  }
6717
+ function checkShardedText(name, candidatePaths) {
6718
+ const canonical = candidatePaths[0];
6719
+ for (const p of candidatePaths) {
6720
+ if (!existsSync24(p))
6721
+ continue;
6722
+ try {
6723
+ if (statSync9(p).size === 0)
6724
+ continue;
6725
+ readFileSync17(p, "utf-8");
6726
+ return { name, path: p, status: "ok" };
6727
+ } catch {
6728
+ return { name, path: p, status: "corrupt" };
6729
+ }
6730
+ }
6731
+ return { name, path: canonical, status: "missing" };
6732
+ }
6733
+ function actionLogCandidates(cwd) {
6734
+ const dir = projectDir(cwd);
6735
+ return [
6736
+ actionLogPath(cwd),
6737
+ ...listDeviceShardsAt(dir).map((id) => shardPath(dir, id, "action-log.md"))
6738
+ ];
6739
+ }
6740
+ function learningMemoryCandidates(cwd) {
6741
+ const dir = projectDir(cwd);
6742
+ return [learningMemoryPath(cwd), ...listLearningMemorySidecarPathsAt(dir)];
6743
+ }
6724
6744
  function status(cwd) {
6725
6745
  console.log("[mink] project status");
6726
6746
  console.log();
@@ -6731,8 +6751,8 @@ function status(cwd) {
6731
6751
  checkJsonFile("session.json", sessionPath(cwd)),
6732
6752
  checkDbFile("mink.db", projectDbPath(cwd)),
6733
6753
  checkJsonFile("config.json", configPath(cwd)),
6734
- checkTextFile("learning-memory.md", learningMemoryPath(cwd)),
6735
- checkTextFile("action-log.md", actionLogPath(cwd))
6754
+ checkShardedText("learning-memory.md", learningMemoryCandidates(cwd)),
6755
+ checkShardedText("action-log.md", actionLogCandidates(cwd))
6736
6756
  ];
6737
6757
  console.log(" State files:");
6738
6758
  for (const check of checks) {
@@ -9166,7 +9186,7 @@ function checkJsonFile2(name, filePath, validator) {
9166
9186
  return { name, status: "corrupt" };
9167
9187
  return { name, status: "ok" };
9168
9188
  }
9169
- function checkTextFile2(name, filePath) {
9189
+ function checkTextFile(name, filePath) {
9170
9190
  if (!existsSync29(filePath))
9171
9191
  return { name, status: "missing" };
9172
9192
  try {
@@ -9215,8 +9235,8 @@ function loadOverview(cwd) {
9215
9235
  checkJsonFile2("session.json", sessionPath(cwd)),
9216
9236
  checkDbFile2("mink.db", projectDbPath(cwd)),
9217
9237
  checkJsonFile2("config.json", configPath(cwd)),
9218
- checkTextFile2("learning-memory.md", learningMemoryPath(cwd)),
9219
- checkTextFile2("action-log.md", actionLogPath(cwd)),
9238
+ checkTextFile("learning-memory.md", learningMemoryPath(cwd)),
9239
+ checkTextFile("action-log.md", actionLogPath(cwd)),
9220
9240
  checkJsonFile2("scheduler-manifest.json", schedulerManifestPath(cwd))
9221
9241
  ];
9222
9242
  return { project, daemon, summary, stateFiles };
@@ -10598,17 +10618,19 @@ var init_dashboard = __esm(() => {
10598
10618
  // src/commands/init.ts
10599
10619
  import { mkdirSync as mkdirSync14, existsSync as existsSync32 } from "fs";
10600
10620
  import { resolve as resolve6, dirname as dirname13, basename as basename8, join as join28 } from "path";
10601
- function resolveCliPath2() {
10602
- const selfPath = new URL(import.meta.url).pathname;
10621
+ function resolveCliPathFrom2(selfPath) {
10603
10622
  const selfDir = dirname13(selfPath);
10604
- if (selfPath.endsWith("dist/cli.js")) {
10605
- return selfPath;
10606
- }
10607
- const projectRoot = resolve6(selfDir, "../..");
10608
- const distPath = join28(projectRoot, "dist", "cli.js");
10609
- if (existsSync32(distPath))
10610
- return distPath;
10611
- return resolve6(selfDir, "../cli.ts");
10623
+ if (selfPath.endsWith("dist/cli.js") || selfPath.endsWith("dist/cli.bun.js") || selfPath.endsWith("dist/cli.node.js")) {
10624
+ return join28(selfDir, "cli.js");
10625
+ }
10626
+ const packageRoot = resolve6(selfDir, "..", "..");
10627
+ const distShim = join28(packageRoot, "dist", "cli.js");
10628
+ if (existsSync32(distShim))
10629
+ return distShim;
10630
+ return join28(packageRoot, "src", "cli.ts");
10631
+ }
10632
+ function resolveCliPath2() {
10633
+ return resolveCliPathFrom2(new URL(import.meta.url).pathname);
10612
10634
  }
10613
10635
  function buildHooksConfig2(cliPath) {
10614
10636
  const isTsSource = cliPath.endsWith(".ts");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drewpayment/mink",
3
- "version": "0.12.0-beta.5",
3
+ "version": "0.12.0-beta.7",
4
4
  "description": "A hidden presence that moves alongside the developer — token efficiency and cross-project wiki for AI coding assistants",
5
5
  "type": "module",
6
6
  "bin": {
@@ -34,25 +34,41 @@ export function detectRuntime(): "bun" | "node" {
34
34
  }
35
35
  }
36
36
 
37
- export function resolveCliPath(): string {
38
- // When running from the compiled bundle, import.meta.url points to dist/cli.js
39
- // When running from source, it points to src/commands/init.ts
40
- const selfPath = new URL(import.meta.url).pathname;
37
+ // Exported for unit testing — accepts the caller's effective import.meta.url
38
+ // path so test cases can simulate every runtime form without juggling
39
+ // real filesystem layouts.
40
+ export function resolveCliPathFrom(selfPath: string): string {
41
+ // After `bun build`, import.meta.url for any bundled module points to
42
+ // whichever bundle was loaded:
43
+ // - dist/cli.js (legacy single-file build)
44
+ // - dist/cli.bun.js (current Bun bundle)
45
+ // - dist/cli.node.js (current Node bundle)
46
+ // In source-dev mode it points to src/commands/init.ts. Mapping any of the
47
+ // bundled forms to dist/cli.js (the bin shim) keeps buildHooksConfig on the
48
+ // portable `mink <subcmd>` path; only the source-dev fallback emits a
49
+ // `bun run <abs>/cli.ts` command.
41
50
  const selfDir = dirname(selfPath);
42
51
 
43
- // If we're running from dist/cli.js, use that directly
44
- if (selfPath.endsWith("dist/cli.js")) {
45
- return selfPath;
52
+ // Running from any of the dist bundles → use the bin shim path. That file
53
+ // ships as the npm `bin` entry, so it always sits next to the bundles.
54
+ if (
55
+ selfPath.endsWith("dist/cli.js") ||
56
+ selfPath.endsWith("dist/cli.bun.js") ||
57
+ selfPath.endsWith("dist/cli.node.js")
58
+ ) {
59
+ return join(selfDir, "cli.js");
46
60
  }
47
61
 
48
- // Check for compiled dist/cli.js relative to project root
49
- // From src/commands/ go up two levels to project root
50
- const projectRoot = resolve(selfDir, "../..");
51
- const distPath = join(projectRoot, "dist", "cli.js");
52
- if (existsSync(distPath)) return distPath;
62
+ // Source-dev: init.ts lives at src/commands/init.ts. Walk up to the package
63
+ // root and prefer dist/cli.js if a build is present, otherwise the source.
64
+ const packageRoot = resolve(selfDir, "..", "..");
65
+ const distShim = join(packageRoot, "dist", "cli.js");
66
+ if (existsSync(distShim)) return distShim;
67
+ return join(packageRoot, "src", "cli.ts");
68
+ }
53
69
 
54
- // Fall back to src/cli.ts (requires bun)
55
- return resolve(selfDir, "../cli.ts");
70
+ export function resolveCliPath(): string {
71
+ return resolveCliPathFrom(new URL(import.meta.url).pathname);
56
72
  }
57
73
 
58
74
  export function buildHooksConfig(cliPath: string): HooksConfig {
@@ -5,6 +5,7 @@ import {
5
5
  configPath,
6
6
  learningMemoryPath,
7
7
  actionLogPath,
8
+ projectDir,
8
9
  } from "../core/paths";
9
10
  import { safeReadJson } from "../core/fs-utils";
10
11
  import { FileIndexRepo } from "../repositories/file-index-repo";
@@ -13,6 +14,9 @@ import {
13
14
  aggregateTokenLedger,
14
15
  aggregateBugMemory,
15
16
  aggregateLearningMemory,
17
+ listDeviceShardsAt,
18
+ listLearningMemorySidecarPathsAt,
19
+ shardPath,
16
20
  } from "../core/state-aggregator";
17
21
  import { loadCounters } from "../core/state-counters";
18
22
  import { getDaemonStatus } from "../core/daemon";
@@ -32,16 +36,6 @@ function checkJsonFile(name: string, filePath: string, validator?: (v: unknown)
32
36
  return { name, path: filePath, status: "ok" };
33
37
  }
34
38
 
35
- function checkTextFile(name: string, filePath: string): FileCheck {
36
- if (!existsSync(filePath)) return { name, path: filePath, status: "missing" };
37
- try {
38
- readFileSync(filePath, "utf-8");
39
- return { name, path: filePath, status: "ok" };
40
- } catch {
41
- return { name, path: filePath, status: "corrupt" };
42
- }
43
- }
44
-
45
39
  function checkDbFile(name: string, filePath: string): FileCheck {
46
40
  if (!existsSync(filePath)) return { name, path: filePath, status: "missing" };
47
41
  try {
@@ -55,6 +49,37 @@ function checkDbFile(name: string, filePath: string): FileCheck {
55
49
  }
56
50
  }
57
51
 
52
+ // Reports "ok" when canonical OR any device shard / sidecar exists with content.
53
+ // action-log and learning-memory live in per-device shards; checking only the
54
+ // canonical path made initialized projects look empty.
55
+ function checkShardedText(name: string, candidatePaths: string[]): FileCheck {
56
+ const canonical = candidatePaths[0];
57
+ for (const p of candidatePaths) {
58
+ if (!existsSync(p)) continue;
59
+ try {
60
+ if (statSync(p).size === 0) continue;
61
+ readFileSync(p, "utf-8");
62
+ return { name, path: p, status: "ok" };
63
+ } catch {
64
+ return { name, path: p, status: "corrupt" };
65
+ }
66
+ }
67
+ return { name, path: canonical, status: "missing" };
68
+ }
69
+
70
+ function actionLogCandidates(cwd: string): string[] {
71
+ const dir = projectDir(cwd);
72
+ return [
73
+ actionLogPath(cwd),
74
+ ...listDeviceShardsAt(dir).map((id) => shardPath(dir, id, "action-log.md")),
75
+ ];
76
+ }
77
+
78
+ function learningMemoryCandidates(cwd: string): string[] {
79
+ const dir = projectDir(cwd);
80
+ return [learningMemoryPath(cwd), ...listLearningMemorySidecarPathsAt(dir)];
81
+ }
82
+
58
83
  export function status(cwd: string): void {
59
84
  console.log("[mink] project status");
60
85
  console.log();
@@ -77,8 +102,8 @@ export function status(cwd: string): void {
77
102
  checkJsonFile("session.json", sessionPath(cwd)),
78
103
  checkDbFile("mink.db", projectDbPath(cwd)),
79
104
  checkJsonFile("config.json", configPath(cwd)),
80
- checkTextFile("learning-memory.md", learningMemoryPath(cwd)),
81
- checkTextFile("action-log.md", actionLogPath(cwd)),
105
+ checkShardedText("learning-memory.md", learningMemoryCandidates(cwd)),
106
+ checkShardedText("action-log.md", actionLogCandidates(cwd)),
82
107
  ];
83
108
 
84
109
  console.log(" State files:");