@drewpayment/mink 0.9.0 → 0.9.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.
- package/dashboard/out/404.html +1 -1
- package/dashboard/out/action-log.html +1 -1
- package/dashboard/out/action-log.txt +1 -1
- package/dashboard/out/activity.html +1 -1
- package/dashboard/out/activity.txt +1 -1
- package/dashboard/out/bugs.html +1 -1
- package/dashboard/out/bugs.txt +1 -1
- package/dashboard/out/capture.html +1 -1
- package/dashboard/out/capture.txt +1 -1
- package/dashboard/out/config.html +1 -1
- package/dashboard/out/config.txt +1 -1
- package/dashboard/out/daemon.html +1 -1
- package/dashboard/out/daemon.txt +1 -1
- package/dashboard/out/design.html +1 -1
- package/dashboard/out/design.txt +1 -1
- package/dashboard/out/discord.html +1 -1
- package/dashboard/out/discord.txt +1 -1
- package/dashboard/out/file-index.html +1 -1
- package/dashboard/out/file-index.txt +1 -1
- package/dashboard/out/index.html +1 -1
- package/dashboard/out/index.txt +1 -1
- package/dashboard/out/insights.html +1 -1
- package/dashboard/out/insights.txt +1 -1
- package/dashboard/out/learning.html +1 -1
- package/dashboard/out/learning.txt +1 -1
- package/dashboard/out/overview.html +1 -1
- package/dashboard/out/overview.txt +1 -1
- package/dashboard/out/scheduler.html +1 -1
- package/dashboard/out/scheduler.txt +1 -1
- package/dashboard/out/sync.html +1 -1
- package/dashboard/out/sync.txt +1 -1
- package/dashboard/out/tokens.html +1 -1
- package/dashboard/out/tokens.txt +1 -1
- package/dashboard/out/waste.html +1 -1
- package/dashboard/out/waste.txt +1 -1
- package/dashboard/out/wiki.html +1 -1
- package/dashboard/out/wiki.txt +1 -1
- package/dist/cli.js +49 -49
- package/package.json +1 -1
- package/src/commands/init.ts +21 -21
- package/src/commands/update.ts +4 -9
- /package/dashboard/out/_next/static/{FLxzihv7lbkF71kIxdNQT → r7Xr9mrUpunsz4QtD3jh1}/_buildManifest.js +0 -0
- /package/dashboard/out/_next/static/{FLxzihv7lbkF71kIxdNQT → r7Xr9mrUpunsz4QtD3jh1}/_ssgManifest.js +0 -0
package/dashboard/out/waste.txt
CHANGED
|
@@ -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":"
|
|
18
|
+
0:{"P":null,"b":"r7Xr9mrUpunsz4QtD3jh1","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"}]]
|
package/dashboard/out/wiki.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--FLxzihv7lbkF71kIxdNQT--><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 & 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 & 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\":\"FLxzihv7lbkF71kIxdNQT\",\"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><!--r7Xr9mrUpunsz4QtD3jh1--><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 & 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 & 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\":\"r7Xr9mrUpunsz4QtD3jh1\",\"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>
|
package/dashboard/out/wiki.txt
CHANGED
|
@@ -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":"
|
|
18
|
+
0:{"P":null,"b":"r7Xr9mrUpunsz4QtD3jh1","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.js
CHANGED
|
@@ -3823,9 +3823,9 @@ function resolveCliPath() {
|
|
|
3823
3823
|
return distPath;
|
|
3824
3824
|
return resolve2(selfDir, "../cli.ts");
|
|
3825
3825
|
}
|
|
3826
|
-
function buildHooksConfig(
|
|
3826
|
+
function buildHooksConfig(cliPath) {
|
|
3827
3827
|
const isTsSource = cliPath.endsWith(".ts");
|
|
3828
|
-
const prefix = isTsSource ? `bun run ${cliPath}` :
|
|
3828
|
+
const prefix = isTsSource ? `bun run ${cliPath}` : "mink";
|
|
3829
3829
|
const hook = (cmd) => [{ type: "command", command: cmd }];
|
|
3830
3830
|
return {
|
|
3831
3831
|
SessionStart: [{ matcher: "", hooks: hook(`${prefix} session-start`) }],
|
|
@@ -3843,7 +3843,12 @@ function buildHooksConfig(runtime, cliPath) {
|
|
|
3843
3843
|
};
|
|
3844
3844
|
}
|
|
3845
3845
|
function isMinkCommand(cmd) {
|
|
3846
|
-
|
|
3846
|
+
const hasMinkSubcommand = cmd.includes("session-start") || cmd.includes("session-stop") || cmd.includes("pre-read") || cmd.includes("post-read") || cmd.includes("pre-write") || cmd.includes("post-write");
|
|
3847
|
+
if (!hasMinkSubcommand)
|
|
3848
|
+
return false;
|
|
3849
|
+
if (/(^|\/|\s)mink\s/.test(cmd))
|
|
3850
|
+
return true;
|
|
3851
|
+
return cmd.includes("cli.js") || cmd.includes("cli.ts");
|
|
3847
3852
|
}
|
|
3848
3853
|
function isMinkHook(entry) {
|
|
3849
3854
|
if (Array.isArray(entry.hooks)) {
|
|
@@ -3881,7 +3886,7 @@ function isExistingInstallation(cwd) {
|
|
|
3881
3886
|
async function init(cwd) {
|
|
3882
3887
|
const runtime = detectRuntime();
|
|
3883
3888
|
const cliPath = resolveCliPath();
|
|
3884
|
-
const hooks = buildHooksConfig(
|
|
3889
|
+
const hooks = buildHooksConfig(cliPath);
|
|
3885
3890
|
const settingsPath = resolve2(cwd, ".claude", "settings.json");
|
|
3886
3891
|
const dir = projectDir(cwd);
|
|
3887
3892
|
const upgrading = isExistingInstallation(cwd);
|
|
@@ -8146,17 +8151,8 @@ var init_dashboard = __esm(() => {
|
|
|
8146
8151
|
});
|
|
8147
8152
|
|
|
8148
8153
|
// src/commands/init.ts
|
|
8149
|
-
import { execSync as execSync6 } from "child_process";
|
|
8150
8154
|
import { mkdirSync as mkdirSync12, existsSync as existsSync25 } from "fs";
|
|
8151
8155
|
import { resolve as resolve5, dirname as dirname10, basename as basename8, join as join25 } from "path";
|
|
8152
|
-
function detectRuntime2() {
|
|
8153
|
-
try {
|
|
8154
|
-
execSync6("bun --version", { stdio: "ignore" });
|
|
8155
|
-
return "bun";
|
|
8156
|
-
} catch {
|
|
8157
|
-
return "node";
|
|
8158
|
-
}
|
|
8159
|
-
}
|
|
8160
8156
|
function resolveCliPath2() {
|
|
8161
8157
|
const selfPath = new URL(import.meta.url).pathname;
|
|
8162
8158
|
const selfDir = dirname10(selfPath);
|
|
@@ -8169,9 +8165,9 @@ function resolveCliPath2() {
|
|
|
8169
8165
|
return distPath;
|
|
8170
8166
|
return resolve5(selfDir, "../cli.ts");
|
|
8171
8167
|
}
|
|
8172
|
-
function buildHooksConfig2(
|
|
8168
|
+
function buildHooksConfig2(cliPath) {
|
|
8173
8169
|
const isTsSource = cliPath.endsWith(".ts");
|
|
8174
|
-
const prefix = isTsSource ? `bun run ${cliPath}` :
|
|
8170
|
+
const prefix = isTsSource ? `bun run ${cliPath}` : "mink";
|
|
8175
8171
|
const hook = (cmd) => [{ type: "command", command: cmd }];
|
|
8176
8172
|
return {
|
|
8177
8173
|
SessionStart: [{ matcher: "", hooks: hook(`${prefix} session-start`) }],
|
|
@@ -8189,7 +8185,12 @@ function buildHooksConfig2(runtime, cliPath) {
|
|
|
8189
8185
|
};
|
|
8190
8186
|
}
|
|
8191
8187
|
function isMinkCommand2(cmd) {
|
|
8192
|
-
|
|
8188
|
+
const hasMinkSubcommand = cmd.includes("session-start") || cmd.includes("session-stop") || cmd.includes("pre-read") || cmd.includes("post-read") || cmd.includes("pre-write") || cmd.includes("post-write");
|
|
8189
|
+
if (!hasMinkSubcommand)
|
|
8190
|
+
return false;
|
|
8191
|
+
if (/(^|\/|\s)mink\s/.test(cmd))
|
|
8192
|
+
return true;
|
|
8193
|
+
return cmd.includes("cli.js") || cmd.includes("cli.ts");
|
|
8193
8194
|
}
|
|
8194
8195
|
function isMinkHook2(entry) {
|
|
8195
8196
|
if (Array.isArray(entry.hooks)) {
|
|
@@ -8220,7 +8221,7 @@ var init_init2 = __esm(() => {
|
|
|
8220
8221
|
});
|
|
8221
8222
|
|
|
8222
8223
|
// src/core/daemon-service.ts
|
|
8223
|
-
import { execSync as
|
|
8224
|
+
import { execSync as execSync6 } from "child_process";
|
|
8224
8225
|
import { existsSync as existsSync26, mkdirSync as mkdirSync13, unlinkSync as unlinkSync5, writeFileSync as writeFileSync10 } from "fs";
|
|
8225
8226
|
import { homedir as homedir4 } from "os";
|
|
8226
8227
|
import { dirname as dirname11, join as join26 } from "path";
|
|
@@ -8339,7 +8340,7 @@ function installService(options = {}) {
|
|
|
8339
8340
|
if (platform2 === "systemd") {
|
|
8340
8341
|
writeFileSync10(paths.unitFile, renderSystemdUnit(inv));
|
|
8341
8342
|
try {
|
|
8342
|
-
|
|
8343
|
+
execSync6("systemctl --user daemon-reload", { stdio: "ignore" });
|
|
8343
8344
|
} catch {}
|
|
8344
8345
|
console.log(`[mink] wrote ${paths.unitFile}`);
|
|
8345
8346
|
console.log("[mink] next steps:");
|
|
@@ -8368,18 +8369,18 @@ function uninstallService() {
|
|
|
8368
8369
|
}
|
|
8369
8370
|
if (platform2 === "systemd") {
|
|
8370
8371
|
try {
|
|
8371
|
-
|
|
8372
|
+
execSync6("systemctl --user disable --now mink-daemon.service", {
|
|
8372
8373
|
stdio: "ignore"
|
|
8373
8374
|
});
|
|
8374
8375
|
} catch {}
|
|
8375
8376
|
unlinkSync5(paths.unitFile);
|
|
8376
8377
|
try {
|
|
8377
|
-
|
|
8378
|
+
execSync6("systemctl --user daemon-reload", { stdio: "ignore" });
|
|
8378
8379
|
} catch {}
|
|
8379
8380
|
console.log(`[mink] removed ${paths.unitFile}`);
|
|
8380
8381
|
} else {
|
|
8381
8382
|
try {
|
|
8382
|
-
|
|
8383
|
+
execSync6(`launchctl unload -w ${paths.unitFile}`, { stdio: "ignore" });
|
|
8383
8384
|
} catch {}
|
|
8384
8385
|
unlinkSync5(paths.unitFile);
|
|
8385
8386
|
console.log(`[mink] removed ${paths.unitFile}`);
|
|
@@ -8763,7 +8764,7 @@ var exports_update = {};
|
|
|
8763
8764
|
__export(exports_update, {
|
|
8764
8765
|
update: () => update
|
|
8765
8766
|
});
|
|
8766
|
-
import { resolve as resolve7
|
|
8767
|
+
import { resolve as resolve7 } from "path";
|
|
8767
8768
|
function parseArgs(args) {
|
|
8768
8769
|
let dryRun = false;
|
|
8769
8770
|
let project = null;
|
|
@@ -8810,9 +8811,8 @@ async function update(cwd, args) {
|
|
|
8810
8811
|
console.log(" Run 'mink init' in a project directory to register it.");
|
|
8811
8812
|
return;
|
|
8812
8813
|
}
|
|
8813
|
-
const
|
|
8814
|
-
const
|
|
8815
|
-
const newHooks = buildHooksConfig2(runtime, cliPath);
|
|
8814
|
+
const cliPath = resolveCliPath2();
|
|
8815
|
+
const newHooks = buildHooksConfig2(cliPath);
|
|
8816
8816
|
for (const target of targets) {
|
|
8817
8817
|
console.log(`[mink] updating: ${target.name} (${target.id})`);
|
|
8818
8818
|
if (dryRun) {
|
|
@@ -74880,7 +74880,7 @@ var init_httpUtil = __esm(() => {
|
|
|
74880
74880
|
});
|
|
74881
74881
|
|
|
74882
74882
|
// node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.js
|
|
74883
|
-
import { execSync as
|
|
74883
|
+
import { execSync as execSync7 } from "node:child_process";
|
|
74884
74884
|
import os from "node:os";
|
|
74885
74885
|
import path from "node:path";
|
|
74886
74886
|
function folder(platform2) {
|
|
@@ -74970,7 +74970,7 @@ function getChromeWindowsLocation(channel2, locationsPrefixes) {
|
|
|
74970
74970
|
}
|
|
74971
74971
|
function getWslVariable(variable) {
|
|
74972
74972
|
try {
|
|
74973
|
-
const result =
|
|
74973
|
+
const result = execSync7(`cmd.exe /c echo %${variable.toLocaleUpperCase()}%`, {
|
|
74974
74974
|
stdio: ["ignore", "pipe", "ignore"],
|
|
74975
74975
|
encoding: "utf-8"
|
|
74976
74976
|
}).trim();
|
|
@@ -74981,7 +74981,7 @@ function getWslVariable(variable) {
|
|
|
74981
74981
|
return;
|
|
74982
74982
|
}
|
|
74983
74983
|
function getWslLocation(channel2) {
|
|
74984
|
-
const wslVersion =
|
|
74984
|
+
const wslVersion = execSync7("wslinfo --version", {
|
|
74985
74985
|
stdio: ["ignore", "pipe", "ignore"],
|
|
74986
74986
|
encoding: "utf-8"
|
|
74987
74987
|
}).trim();
|
|
@@ -74997,7 +74997,7 @@ function getWslLocation(channel2) {
|
|
|
74997
74997
|
}
|
|
74998
74998
|
const windowsPath = getChromeWindowsLocation(channel2, wslPrefixes);
|
|
74999
74999
|
return windowsPath.map((path2) => {
|
|
75000
|
-
return
|
|
75000
|
+
return execSync7(`wslpath "${path2}"`).toString().trim();
|
|
75001
75001
|
});
|
|
75002
75002
|
}
|
|
75003
75003
|
function getChromeLinuxOrWslLocation(channel2) {
|
|
@@ -81856,19 +81856,19 @@ var init_cliui = __esm(() => {
|
|
|
81856
81856
|
});
|
|
81857
81857
|
|
|
81858
81858
|
// node_modules/escalade/sync/index.mjs
|
|
81859
|
-
import { dirname as
|
|
81859
|
+
import { dirname as dirname12, resolve as resolve9 } from "path";
|
|
81860
81860
|
import { readdirSync as readdirSync10, statSync as statSync12 } from "fs";
|
|
81861
81861
|
function sync_default(start, callback) {
|
|
81862
81862
|
let dir = resolve9(".", start);
|
|
81863
81863
|
let tmp, stats = statSync12(dir);
|
|
81864
81864
|
if (!stats.isDirectory()) {
|
|
81865
|
-
dir =
|
|
81865
|
+
dir = dirname12(dir);
|
|
81866
81866
|
}
|
|
81867
81867
|
while (true) {
|
|
81868
81868
|
tmp = callback(dir, readdirSync10(dir));
|
|
81869
81869
|
if (tmp)
|
|
81870
81870
|
return resolve9(dir, tmp);
|
|
81871
|
-
dir =
|
|
81871
|
+
dir = dirname12(tmp = dir);
|
|
81872
81872
|
if (tmp === dir)
|
|
81873
81873
|
break;
|
|
81874
81874
|
}
|
|
@@ -83082,7 +83082,7 @@ import { notStrictEqual, strictEqual } from "assert";
|
|
|
83082
83082
|
import { inspect } from "util";
|
|
83083
83083
|
import { readFileSync as readFileSync25 } from "fs";
|
|
83084
83084
|
import { fileURLToPath } from "url";
|
|
83085
|
-
import { basename as
|
|
83085
|
+
import { basename as basename9, dirname as dirname13, extname as extname3, relative as relative7, resolve as resolve12 } from "path";
|
|
83086
83086
|
var REQUIRE_ERROR = "require is not supported by ESM", REQUIRE_DIRECTORY_ERROR = "loading a directory of commands is not supported yet for ESM", __dirname2, mainFilename, esm_default;
|
|
83087
83087
|
var init_esm = __esm(() => {
|
|
83088
83088
|
init_cliui();
|
|
@@ -83114,8 +83114,8 @@ var init_esm = __esm(() => {
|
|
|
83114
83114
|
mainFilename: mainFilename || process.cwd(),
|
|
83115
83115
|
Parser: lib_default,
|
|
83116
83116
|
path: {
|
|
83117
|
-
basename:
|
|
83118
|
-
dirname:
|
|
83117
|
+
basename: basename9,
|
|
83118
|
+
dirname: dirname13,
|
|
83119
83119
|
extname: extname3,
|
|
83120
83120
|
relative: relative7,
|
|
83121
83121
|
resolve: resolve12
|
|
@@ -87812,7 +87812,7 @@ var init_PuppeteerNode = __esm(() => {
|
|
|
87812
87812
|
import { spawn as spawn2, spawnSync as spawnSync4 } from "node:child_process";
|
|
87813
87813
|
import fs5 from "node:fs";
|
|
87814
87814
|
import os8 from "node:os";
|
|
87815
|
-
import { dirname as
|
|
87815
|
+
import { dirname as dirname14 } from "node:path";
|
|
87816
87816
|
import { PassThrough } from "node:stream";
|
|
87817
87817
|
var import_debug6, __runInitializers22 = function(thisArg, initializers, value) {
|
|
87818
87818
|
var useValue = arguments.length > 2;
|
|
@@ -87936,7 +87936,7 @@ var init_ScreenRecorder = __esm(() => {
|
|
|
87936
87936
|
filters.push(formatArgs.splice(vf, 2).at(-1) ?? "");
|
|
87937
87937
|
}
|
|
87938
87938
|
if (path11) {
|
|
87939
|
-
fs5.mkdirSync(
|
|
87939
|
+
fs5.mkdirSync(dirname14(path11), { recursive: overwrite });
|
|
87940
87940
|
}
|
|
87941
87941
|
this.#process = spawn2(ffmpegPath, [
|
|
87942
87942
|
["-loglevel", "error"],
|
|
@@ -90103,7 +90103,7 @@ var exports_skill = {};
|
|
|
90103
90103
|
__export(exports_skill, {
|
|
90104
90104
|
skill: () => skill
|
|
90105
90105
|
});
|
|
90106
|
-
import { join as join32, resolve as resolve15, dirname as
|
|
90106
|
+
import { join as join32, resolve as resolve15, dirname as dirname15 } from "path";
|
|
90107
90107
|
import { homedir as homedir6 } from "os";
|
|
90108
90108
|
import {
|
|
90109
90109
|
existsSync as existsSync34,
|
|
@@ -90116,17 +90116,17 @@ import {
|
|
|
90116
90116
|
lstatSync as lstatSync2
|
|
90117
90117
|
} from "fs";
|
|
90118
90118
|
function getSkillsSourceDir() {
|
|
90119
|
-
let dir =
|
|
90119
|
+
let dir = dirname15(new URL(import.meta.url).pathname);
|
|
90120
90120
|
while (true) {
|
|
90121
90121
|
if (existsSync34(join32(dir, "package.json")) && existsSync34(join32(dir, "skills"))) {
|
|
90122
90122
|
return join32(dir, "skills");
|
|
90123
90123
|
}
|
|
90124
|
-
const parent =
|
|
90124
|
+
const parent = dirname15(dir);
|
|
90125
90125
|
if (parent === dir)
|
|
90126
90126
|
break;
|
|
90127
90127
|
dir = parent;
|
|
90128
90128
|
}
|
|
90129
|
-
return resolve15(
|
|
90129
|
+
return resolve15(dirname15(new URL(import.meta.url).pathname), "../../skills");
|
|
90130
90130
|
}
|
|
90131
90131
|
function getAvailableSkills() {
|
|
90132
90132
|
const dir = getSkillsSourceDir();
|
|
@@ -90264,7 +90264,7 @@ var exports_agent = {};
|
|
|
90264
90264
|
__export(exports_agent, {
|
|
90265
90265
|
agent: () => agent
|
|
90266
90266
|
});
|
|
90267
|
-
import { join as join33, resolve as resolve16, dirname as
|
|
90267
|
+
import { join as join33, resolve as resolve16, dirname as dirname16 } from "path";
|
|
90268
90268
|
import { homedir as homedir7 } from "os";
|
|
90269
90269
|
import {
|
|
90270
90270
|
existsSync as existsSync35,
|
|
@@ -90275,20 +90275,20 @@ import {
|
|
|
90275
90275
|
import { createHash as createHash3 } from "crypto";
|
|
90276
90276
|
import { spawnSync as spawnSync5 } from "child_process";
|
|
90277
90277
|
function getAgentTemplatePath() {
|
|
90278
|
-
let dir =
|
|
90278
|
+
let dir = dirname16(new URL(import.meta.url).pathname);
|
|
90279
90279
|
while (true) {
|
|
90280
90280
|
if (existsSync35(join33(dir, "package.json")) && existsSync35(join33(dir, "agents", TEMPLATE_FILE))) {
|
|
90281
90281
|
return join33(dir, "agents", TEMPLATE_FILE);
|
|
90282
90282
|
}
|
|
90283
|
-
const parent =
|
|
90283
|
+
const parent = dirname16(dir);
|
|
90284
90284
|
if (parent === dir)
|
|
90285
90285
|
break;
|
|
90286
90286
|
dir = parent;
|
|
90287
90287
|
}
|
|
90288
|
-
return resolve16(
|
|
90288
|
+
return resolve16(dirname16(new URL(import.meta.url).pathname), "../../agents", TEMPLATE_FILE);
|
|
90289
90289
|
}
|
|
90290
90290
|
function getMinkVersion() {
|
|
90291
|
-
let dir =
|
|
90291
|
+
let dir = dirname16(new URL(import.meta.url).pathname);
|
|
90292
90292
|
while (true) {
|
|
90293
90293
|
const pkgPath = join33(dir, "package.json");
|
|
90294
90294
|
if (existsSync35(pkgPath)) {
|
|
@@ -90298,7 +90298,7 @@ function getMinkVersion() {
|
|
|
90298
90298
|
return pkg.version;
|
|
90299
90299
|
} catch {}
|
|
90300
90300
|
}
|
|
90301
|
-
const parent =
|
|
90301
|
+
const parent = dirname16(dir);
|
|
90302
90302
|
if (parent === dir)
|
|
90303
90303
|
break;
|
|
90304
90304
|
dir = parent;
|
|
@@ -91231,8 +91231,8 @@ switch (command2) {
|
|
|
91231
91231
|
case "version":
|
|
91232
91232
|
case "--version":
|
|
91233
91233
|
case "-v": {
|
|
91234
|
-
const { resolve: resolve17, dirname:
|
|
91235
|
-
const cliPath = resolve17(
|
|
91234
|
+
const { resolve: resolve17, dirname: dirname17 } = await import("path");
|
|
91235
|
+
const cliPath = resolve17(dirname17(new URL(import.meta.url).pathname));
|
|
91236
91236
|
const { readFileSync: readFileSync29 } = await import("fs");
|
|
91237
91237
|
try {
|
|
91238
91238
|
const pkg = JSON.parse(readFileSync29(resolve17(cliPath, "../package.json"), "utf-8"));
|
package/package.json
CHANGED
package/src/commands/init.ts
CHANGED
|
@@ -53,18 +53,13 @@ export function resolveCliPath(): string {
|
|
|
53
53
|
return resolve(selfDir, "../cli.ts");
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
export function buildHooksConfig(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
)
|
|
60
|
-
//
|
|
61
|
-
// If using .ts source, must use bun
|
|
56
|
+
export function buildHooksConfig(cliPath: string): HooksConfig {
|
|
57
|
+
// For installed packages emit the `mink` bin shim so the resulting
|
|
58
|
+
// .claude/settings.json is portable across machines, users, and runtimes
|
|
59
|
+
// when committed to git (issue #55). For source-dev mode (cli.ts) the shim
|
|
60
|
+
// isn't on PATH, so fall back to `bun run <abs path>`.
|
|
62
61
|
const isTsSource = cliPath.endsWith(".ts");
|
|
63
|
-
const prefix = isTsSource
|
|
64
|
-
? `bun run ${cliPath}`
|
|
65
|
-
: runtime === "bun"
|
|
66
|
-
? `bun run ${cliPath}`
|
|
67
|
-
: `node ${cliPath}`;
|
|
62
|
+
const prefix = isTsSource ? `bun run ${cliPath}` : "mink";
|
|
68
63
|
const hook = (cmd: string): HookCommand[] => [{ type: "command", command: cmd }];
|
|
69
64
|
return {
|
|
70
65
|
SessionStart: [{ matcher: "", hooks: hook(`${prefix} session-start`) }],
|
|
@@ -83,15 +78,20 @@ export function buildHooksConfig(
|
|
|
83
78
|
}
|
|
84
79
|
|
|
85
80
|
function isMinkCommand(cmd: string): boolean {
|
|
86
|
-
|
|
87
|
-
cmd.includes("
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
)
|
|
81
|
+
const hasMinkSubcommand =
|
|
82
|
+
cmd.includes("session-start") ||
|
|
83
|
+
cmd.includes("session-stop") ||
|
|
84
|
+
cmd.includes("pre-read") ||
|
|
85
|
+
cmd.includes("post-read") ||
|
|
86
|
+
cmd.includes("pre-write") ||
|
|
87
|
+
cmd.includes("post-write");
|
|
88
|
+
if (!hasMinkSubcommand) return false;
|
|
89
|
+
// Match the new bin-shim format (`mink <subcmd>` or `/abs/path/to/mink <subcmd>`)
|
|
90
|
+
// as well as legacy formats (`bun run .../cli.js ...`, `node .../cli.js ...`,
|
|
91
|
+
// `bun run .../cli.ts ...`) so re-init replaces stale entries instead of
|
|
92
|
+
// duplicating them.
|
|
93
|
+
if (/(^|\/|\s)mink\s/.test(cmd)) return true;
|
|
94
|
+
return cmd.includes("cli.js") || cmd.includes("cli.ts");
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
function isMinkHook(entry: HookEntry | Record<string, unknown>): boolean {
|
|
@@ -159,7 +159,7 @@ function isExistingInstallation(cwd: string): boolean {
|
|
|
159
159
|
export async function init(cwd: string): Promise<void> {
|
|
160
160
|
const runtime = detectRuntime();
|
|
161
161
|
const cliPath = resolveCliPath();
|
|
162
|
-
const hooks = buildHooksConfig(
|
|
162
|
+
const hooks = buildHooksConfig(cliPath);
|
|
163
163
|
const settingsPath = resolve(cwd, ".claude", "settings.json");
|
|
164
164
|
const dir = projectDir(cwd);
|
|
165
165
|
const upgrading = isExistingInstallation(cwd);
|
package/src/commands/update.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { resolve
|
|
2
|
-
import { existsSync } from "fs";
|
|
1
|
+
import { resolve } from "path";
|
|
3
2
|
import { listRegisteredProjects } from "../core/project-registry";
|
|
4
3
|
import { createBackup } from "../core/backup";
|
|
5
4
|
import { projectMetaPath } from "../core/paths";
|
|
6
5
|
import { atomicWriteJson, safeReadJson } from "../core/fs-utils";
|
|
7
|
-
import { buildHooksConfig,
|
|
6
|
+
import { buildHooksConfig, mergeHooksIntoSettings, resolveCliPath } from "./init";
|
|
8
7
|
|
|
9
8
|
function parseArgs(args: string[]): {
|
|
10
9
|
dryRun: boolean;
|
|
@@ -78,12 +77,8 @@ export async function update(cwd: string, args: string[]): Promise<void> {
|
|
|
78
77
|
return;
|
|
79
78
|
}
|
|
80
79
|
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
dirname(new URL(import.meta.url).pathname),
|
|
84
|
-
"../cli.ts"
|
|
85
|
-
);
|
|
86
|
-
const newHooks = buildHooksConfig(runtime, cliPath);
|
|
80
|
+
const cliPath = resolveCliPath();
|
|
81
|
+
const newHooks = buildHooksConfig(cliPath);
|
|
87
82
|
|
|
88
83
|
for (const target of targets) {
|
|
89
84
|
console.log(`[mink] updating: ${target.name} (${target.id})`);
|