@drewpayment/mink 0.13.0-beta.2 → 0.13.0-beta.4
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/_next/static/chunks/157-7bbe4894a18a8332.js +1 -0
- package/dashboard/out/_next/static/chunks/447-8cfdad14e7559c07.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/activity/page-c285fb9f63d9a82a.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/bugs/page-f3ba7d8f50a96568.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/capture/page-e004bec9af99a244.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/compression/page-21e1af119b3f81ff.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/config/page-d47fb6f588ccfd4b.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/daemon/page-52f913e751416717.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/design/page-53a76719b9af5830.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/discord/page-04502d12c4a96cf7.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/file-index/page-a1bd10e04bb219d9.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/insights/page-7367274963571b6b.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/learning/{page-b766adc79099adb4.js → page-4a03cf7b9a6106fd.js} +1 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/overview/page-141f456cd7141815.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/scheduler/page-510b78c9b0a61012.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/sync/page-b7215c2a29a7d7a7.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/tokens/page-1be7ed35a5c9bd39.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/waste/page-24a726e6d63f771a.js +1 -0
- package/dashboard/out/_next/static/chunks/app/(panels)/wiki/page-230d2d1cae6507a8.js +1 -0
- package/dashboard/out/_next/static/chunks/app/layout-99d1a82956bc0f56.js +1 -0
- package/dashboard/out/_next/static/css/0e381ead1d090c3f.css +1 -0
- package/dashboard/out/_next/static/zeNEMTDaNBRpOk-to-GkA/_buildManifest.js +1 -0
- package/dashboard/out/action-log.html +1 -1
- package/dashboard/out/action-log.txt +5 -5
- package/dashboard/out/activity.html +1 -1
- package/dashboard/out/activity.txt +6 -6
- package/dashboard/out/bugs.html +1 -1
- package/dashboard/out/bugs.txt +6 -6
- package/dashboard/out/capture.html +1 -1
- package/dashboard/out/capture.txt +6 -6
- package/dashboard/out/compression.html +1 -0
- package/dashboard/out/compression.txt +24 -0
- package/dashboard/out/config.html +1 -1
- package/dashboard/out/config.txt +6 -6
- package/dashboard/out/daemon.html +1 -1
- package/dashboard/out/daemon.txt +6 -6
- package/dashboard/out/design.html +1 -1
- package/dashboard/out/design.txt +6 -6
- package/dashboard/out/discord.html +1 -1
- package/dashboard/out/discord.txt +6 -6
- package/dashboard/out/file-index.html +1 -1
- package/dashboard/out/file-index.txt +6 -6
- package/dashboard/out/index.html +1 -1
- package/dashboard/out/index.txt +5 -5
- package/dashboard/out/insights.html +1 -1
- package/dashboard/out/insights.txt +6 -6
- package/dashboard/out/learning.html +1 -1
- package/dashboard/out/learning.txt +6 -6
- package/dashboard/out/overview.html +1 -1
- package/dashboard/out/overview.txt +6 -6
- package/dashboard/out/scheduler.html +1 -1
- package/dashboard/out/scheduler.txt +6 -6
- package/dashboard/out/sync.html +1 -1
- package/dashboard/out/sync.txt +6 -6
- package/dashboard/out/tokens.html +1 -1
- package/dashboard/out/tokens.txt +6 -6
- package/dashboard/out/waste.html +1 -1
- package/dashboard/out/waste.txt +6 -6
- package/dashboard/out/wiki.html +1 -1
- package/dashboard/out/wiki.txt +6 -6
- package/dist/cli.bun.js +68 -4
- package/dist/cli.node.js +68 -4
- package/package.json +1 -1
- package/src/commands/status.ts +13 -1
- package/src/core/dashboard-api.ts +20 -1
- package/src/core/dashboard-server.ts +3 -0
- package/src/repositories/token-ledger-repo.ts +55 -0
- package/src/types/dashboard.ts +22 -1
- package/src/types/token-ledger.ts +22 -0
- package/dashboard/out/_next/static/Yl3F-J4CwvYf6yWG-SSmG/_buildManifest.js +0 -1
- package/dashboard/out/_next/static/chunks/189-fe789442321eb5eb.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/activity/page-096a97ba539d5323.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/bugs/page-449d31c133432458.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/capture/page-c6617aa0a8a7333e.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/config/page-aa0a0623b3fdd0d8.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/daemon/page-7cd3fac2f5d87a0d.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/design/page-5304675c96b6793b.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/discord/page-9940dde80ba2a69e.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/file-index/page-ecd8a753614e981e.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/insights/page-7909d8beb8d8ef7a.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/overview/page-7a9e86dcde67d6a9.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/scheduler/page-a88f93204c9742a1.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/sync/page-8a9ad4c36aa6cb65.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/tokens/page-8dac7d50d4db2756.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/waste/page-bcf56144faf7d133.js +0 -1
- package/dashboard/out/_next/static/chunks/app/(panels)/wiki/page-a32fdbd0bf58b30b.js +0 -1
- package/dashboard/out/_next/static/chunks/app/layout-782cd26e0ccc4514.js +0 -1
- package/dashboard/out/_next/static/css/5e43917ea49c5b3e.css +0 -1
- /package/dashboard/out/_next/static/{Yl3F-J4CwvYf6yWG-SSmG → zeNEMTDaNBRpOk-to-GkA}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[120],{35:(e,l,s)=>{Promise.resolve().then(s.bind(s,2462))},1044:(e,l,s)=>{"use strict";s.d(l,{I:()=>n});var t=s(5155);let a={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function n(e){let{name:l,size:s=14,stroke:n=1.7,className:i=""}=e,r=a[l];return r?(0,t.jsx)("svg",{className:"icn ".concat(i).trim(),width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:r})}):null}},2462:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>d});var t=s(5155),a=s(2115),n=s(3928),i=s(3742),r=s(6845),c=s(1044);let o=[{key:"User Preferences",tabLabel:"Preferences",title:"Preferences",sub:"How the human likes to work"},{key:"Key Learnings",tabLabel:"Learnings",title:"Learnings",sub:"Facts discovered this project"},{key:"Do-Not-Repeat",tabLabel:"Do-not-repeat",title:"Do-not-repeat",sub:"Mistakes already corrected"},{key:"Decision Log",tabLabel:"Decisions",title:"Decision log",sub:"Committed project decisions"}];function h(){var e,l,s;let h=(0,n.f)(e=>e.learningMemory),[d,u]=(0,a.useState)("User Preferences"),M=null!=(e=null==h?void 0:h.sections)?e:{},v=null!=(l=o.find(e=>e.key===d))?l:o[0],m=null!=(s=M[v.key])?s:[];return(0,t.jsxs)("div",{className:"page",children:[(0,t.jsxs)("div",{className:"page-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"page-title",children:"Learning memory"}),(0,t.jsxs)("p",{className:"page-sub",children:["4-section knowledge store \xb7 ",(null==h?void 0:h.projectName)||"—"]})]}),(0,t.jsx)("div",{className:"page-actions",children:(0,t.jsx)(r.t,{icon:"plus",variant:"primary",disabled:!0,title:"Write endpoint coming soon",children:"Add rule"})})]}),(0,t.jsx)("div",{className:"grid g-4",style:{marginBottom:14},children:o.map(e=>{var l;let s=(null!=(l=M[e.key])?l:[]).length;return(0,t.jsxs)("button",{type:"button",className:"kpi",style:{cursor:"pointer",borderColor:d===e.key?"var(--accent)":void 0,textAlign:"left"},onClick:()=>u(e.key),children:[(0,t.jsx)("div",{className:"label",children:e.title}),(0,t.jsx)("div",{className:"value mono",children:s}),(0,t.jsx)("div",{className:"delta",children:e.sub})]},e.key)})}),(0,t.jsx)(i.Z,{title:v.title,sub:v.sub,tools:(0,t.jsxs)("div",{className:"row tight",children:[(0,t.jsx)(r.t,{size:"sm",icon:"search",variant:"ghost",disabled:!0,children:"Search"}),(0,t.jsx)(r.t,{size:"sm",icon:"download",variant:"ghost",disabled:!0,children:"Export"})]}),flush:!0,children:0===m.length?(0,t.jsxs)("div",{className:"empty",children:[(0,t.jsx)("h4",{children:"No entries yet"}),(0,t.jsx)("span",{children:"rules will appear here as Claude learns from your sessions."})]}):(0,t.jsxs)("table",{className:"tbl",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{children:"#"}),(0,t.jsx)("th",{children:"Rule"}),(0,t.jsx)("th",{})]})}),(0,t.jsx)("tbody",{children:m.map((e,l)=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"mono muted",style:{width:40},children:l+1}),(0,t.jsx)("td",{children:e}),(0,t.jsx)("td",{className:"right",children:(0,t.jsx)("div",{className:"row tight",style:{justifyContent:"flex-end"},children:(0,t.jsx)("button",{type:"button",className:"tb-icon-btn","aria-label":"Preview rule",title:"Preview",children:(0,t.jsx)(c.I,{name:"eye",size:12})})})})]},"".concat(v.key,"-").concat(l)))})]})})]})}function d(){return(0,t.jsx)(h,{})}},3742:(e,l,s)=>{"use strict";s.d(l,{Z:()=>a});var t=s(5155);function a(e){let{title:l,sub:s,tools:a,flush:n,className:i="",style:r,children:c}=e,o=null!=l||null!=a;return(0,t.jsxs)("div",{className:"card ".concat(i).trim(),style:r,children:[o&&(0,t.jsxs)("div",{className:"card-head",children:[null!=l&&("string"==typeof l?(0,t.jsx)("h3",{children:l}):l),null!=s&&(0,t.jsx)("span",{className:"sub",children:s}),null!=a&&(0,t.jsx)("div",{className:"tools",children:a})]}),(0,t.jsx)("div",{className:"card-body ".concat(n?"flush":"").trim(),children:c})]})}},3928:(e,l,s)=>{"use strict";s.d(l,{f:()=>t});let t=(0,s(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:l=>e({connected:l}),setProjects:(l,s)=>e({projects:l,activeProjectId:s}),setActiveProject:l=>e({activeProjectId:l,overview:null,ledger:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:l=>e({overview:l}),setLedger:l=>{var s;return e({ledger:l,wasteFlags:null!=(s=l.wasteFlags)?s:[]})},setFileIndex:l=>e({fileIndex:l}),setScheduler:(l,s,t)=>e({tasks:l,taskDefinitions:s,deadLetters:t}),setHealth:l=>e({health:l}),setLearningMemory:l=>e({learningMemory:l}),setActionLog:l=>e({actionLog:l}),setBugs:l=>e({bugs:l}),setWasteFlags:l=>e({wasteFlags:l}),setDesignImages:l=>e({designImages:l}),setConfig:l=>e({config:l}),setSync:l=>e({sync:l}),setChannel:l=>e({channel:l}),setWiki:l=>e({wiki:l}),setWikiNote:l=>e({wikiNote:l})}))},5959:(e,l,s)=>{"use strict";s.d(l,{v:()=>i});var t=s(2115);let a=e=>{let l,s=new Set,t=(e,t)=>{let a="function"==typeof e?e(l):e;if(!Object.is(a,l)){let e=l;l=(null!=t?t:"object"!=typeof a||null===a)?a:Object.assign({},l,a),s.forEach(s=>s(l,e))}},a=()=>l,n={setState:t,getState:a,getInitialState:()=>i,subscribe:e=>(s.add(e),()=>s.delete(e))},i=l=e(t,a,n);return n},n=e=>{let l=(e=>e?a(e):a)(e),s=e=>(function(e,l=e=>e){let s=t.useSyncExternalStore(e.subscribe,t.useCallback(()=>l(e.getState()),[e,l]),t.useCallback(()=>l(e.getInitialState()),[e,l]));return t.useDebugValue(s),s})(l,e);return Object.assign(s,l),s},i=e=>e?n(e):n},6845:(e,l,s)=>{"use strict";s.d(l,{t:()=>n});var t=s(5155),a=s(1044);function n(e){let{icon:l,variant:s,size:n,className:i="",children:r,...c}=e,o=["btn"];return s&&o.push(s),n&&o.push(n),i&&o.push(i),(0,t.jsxs)("button",{className:o.join(" "),...c,children:[l&&(0,t.jsx)(a.I,{name:l}),r]})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=35)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[120],{35:(e,l,s)=>{Promise.resolve().then(s.bind(s,2462))},1044:(e,l,s)=>{"use strict";s.d(l,{I:()=>n});var t=s(5155);let a={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function n(e){let{name:l,size:s=14,stroke:n=1.7,className:i=""}=e,r=a[l];return r?(0,t.jsx)("svg",{className:"icn ".concat(i).trim(),width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:r})}):null}},2462:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>d});var t=s(5155),a=s(2115),n=s(3928),i=s(3742),r=s(6845),c=s(1044);let o=[{key:"User Preferences",tabLabel:"Preferences",title:"Preferences",sub:"How the human likes to work"},{key:"Key Learnings",tabLabel:"Learnings",title:"Learnings",sub:"Facts discovered this project"},{key:"Do-Not-Repeat",tabLabel:"Do-not-repeat",title:"Do-not-repeat",sub:"Mistakes already corrected"},{key:"Decision Log",tabLabel:"Decisions",title:"Decision log",sub:"Committed project decisions"}];function h(){var e,l,s;let h=(0,n.f)(e=>e.learningMemory),[d,u]=(0,a.useState)("User Preferences"),M=null!=(e=null==h?void 0:h.sections)?e:{},v=null!=(l=o.find(e=>e.key===d))?l:o[0],m=null!=(s=M[v.key])?s:[];return(0,t.jsxs)("div",{className:"page",children:[(0,t.jsxs)("div",{className:"page-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"page-title",children:"Learning memory"}),(0,t.jsxs)("p",{className:"page-sub",children:["4-section knowledge store \xb7 ",(null==h?void 0:h.projectName)||"—"]})]}),(0,t.jsx)("div",{className:"page-actions",children:(0,t.jsx)(r.t,{icon:"plus",variant:"primary",disabled:!0,title:"Write endpoint coming soon",children:"Add rule"})})]}),(0,t.jsx)("div",{className:"grid g-4",style:{marginBottom:14},children:o.map(e=>{var l;let s=(null!=(l=M[e.key])?l:[]).length;return(0,t.jsxs)("button",{type:"button",className:"kpi",style:{cursor:"pointer",borderColor:d===e.key?"var(--accent)":void 0,textAlign:"left"},onClick:()=>u(e.key),children:[(0,t.jsx)("div",{className:"label",children:e.title}),(0,t.jsx)("div",{className:"value mono",children:s}),(0,t.jsx)("div",{className:"delta",children:e.sub})]},e.key)})}),(0,t.jsx)(i.Z,{title:v.title,sub:v.sub,tools:(0,t.jsxs)("div",{className:"row tight",children:[(0,t.jsx)(r.t,{size:"sm",icon:"search",variant:"ghost",disabled:!0,children:"Search"}),(0,t.jsx)(r.t,{size:"sm",icon:"download",variant:"ghost",disabled:!0,children:"Export"})]}),flush:!0,children:0===m.length?(0,t.jsxs)("div",{className:"empty",children:[(0,t.jsx)("h4",{children:"No entries yet"}),(0,t.jsx)("span",{children:"rules will appear here as Claude learns from your sessions."})]}):(0,t.jsxs)("table",{className:"tbl",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{children:"#"}),(0,t.jsx)("th",{children:"Rule"}),(0,t.jsx)("th",{})]})}),(0,t.jsx)("tbody",{children:m.map((e,l)=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"mono muted",style:{width:40},children:l+1}),(0,t.jsx)("td",{children:e}),(0,t.jsx)("td",{className:"right",children:(0,t.jsx)("div",{className:"row tight",style:{justifyContent:"flex-end"},children:(0,t.jsx)("button",{type:"button",className:"tb-icon-btn","aria-label":"Preview rule",title:"Preview",children:(0,t.jsx)(c.I,{name:"eye",size:12})})})})]},"".concat(v.key,"-").concat(l)))})]})})]})}function d(){return(0,t.jsx)(h,{})}},3742:(e,l,s)=>{"use strict";s.d(l,{Z:()=>a});var t=s(5155);function a(e){let{title:l,sub:s,tools:a,flush:n,className:i="",style:r,children:c}=e,o=null!=l||null!=a;return(0,t.jsxs)("div",{className:"card ".concat(i).trim(),style:r,children:[o&&(0,t.jsxs)("div",{className:"card-head",children:[null!=l&&("string"==typeof l?(0,t.jsx)("h3",{children:l}):l),null!=s&&(0,t.jsx)("span",{className:"sub",children:s}),null!=a&&(0,t.jsx)("div",{className:"tools",children:a})]}),(0,t.jsx)("div",{className:"card-body ".concat(n?"flush":"").trim(),children:c})]})}},3928:(e,l,s)=>{"use strict";s.d(l,{f:()=>t});let t=(0,s(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:l=>e({connected:l}),setProjects:(l,s)=>e({projects:l,activeProjectId:s}),setActiveProject:l=>e({activeProjectId:l,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:l=>e({overview:l}),setLedger:l=>{var s;return e({ledger:l,wasteFlags:null!=(s=l.wasteFlags)?s:[]})},setCompression:l=>e({compression:l}),setFileIndex:l=>e({fileIndex:l}),setScheduler:(l,s,t)=>e({tasks:l,taskDefinitions:s,deadLetters:t}),setHealth:l=>e({health:l}),setLearningMemory:l=>e({learningMemory:l}),setActionLog:l=>e({actionLog:l}),setBugs:l=>e({bugs:l}),setWasteFlags:l=>e({wasteFlags:l}),setDesignImages:l=>e({designImages:l}),setConfig:l=>e({config:l}),setSync:l=>e({sync:l}),setChannel:l=>e({channel:l}),setWiki:l=>e({wiki:l}),setWikiNote:l=>e({wikiNote:l})}))},5959:(e,l,s)=>{"use strict";s.d(l,{v:()=>i});var t=s(2115);let a=e=>{let l,s=new Set,t=(e,t)=>{let a="function"==typeof e?e(l):e;if(!Object.is(a,l)){let e=l;l=(null!=t?t:"object"!=typeof a||null===a)?a:Object.assign({},l,a),s.forEach(s=>s(l,e))}},a=()=>l,n={setState:t,getState:a,getInitialState:()=>i,subscribe:e=>(s.add(e),()=>s.delete(e))},i=l=e(t,a,n);return n},n=e=>{let l=(e=>e?a(e):a)(e),s=e=>(function(e,l=e=>e){let s=t.useSyncExternalStore(e.subscribe,t.useCallback(()=>l(e.getState()),[e,l]),t.useCallback(()=>l(e.getInitialState()),[e,l]));return t.useDebugValue(s),s})(l,e);return Object.assign(s,l),s},i=e=>e?n(e):n},6845:(e,l,s)=>{"use strict";s.d(l,{t:()=>n});var t=s(5155),a=s(1044);function n(e){let{icon:l,variant:s,size:n,className:i="",children:r,...c}=e,o=["btn"];return s&&o.push(s),n&&o.push(n),i&&o.push(i),(0,t.jsxs)("button",{className:o.join(" "),...c,children:[l&&(0,t.jsx)(a.I,{name:l}),r]})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=35)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[161],{264:(e,s,l)=>{Promise.resolve().then(l.bind(l,6258))},1044:(e,s,l)=>{"use strict";l.d(s,{I:()=>a});var t=l(5155);let n={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function a(e){let{name:s,size:l=14,stroke:a=1.7,className:i=""}=e,o=n[s];return o?(0,t.jsx)("svg",{className:"icn ".concat(i).trim(),width:l,height:l,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:a,strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:o})}):null}},3742:(e,s,l)=>{"use strict";l.d(s,{Z:()=>n});var t=l(5155);function n(e){let{title:s,sub:l,tools:n,flush:a,className:i="",style:o,children:r}=e,d=null!=s||null!=n;return(0,t.jsxs)("div",{className:"card ".concat(i).trim(),style:o,children:[d&&(0,t.jsxs)("div",{className:"card-head",children:[null!=s&&("string"==typeof s?(0,t.jsx)("h3",{children:s}):s),null!=l&&(0,t.jsx)("span",{className:"sub",children:l}),null!=n&&(0,t.jsx)("div",{className:"tools",children:n})]}),(0,t.jsx)("div",{className:"card-body ".concat(a?"flush":"").trim(),children:r})]})}},3928:(e,s,l)=>{"use strict";l.d(s,{f:()=>t});let t=(0,l(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:s=>e({connected:s}),setProjects:(s,l)=>e({projects:s,activeProjectId:l}),setActiveProject:s=>e({activeProjectId:s,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:s=>e({overview:s}),setLedger:s=>{var l;return e({ledger:s,wasteFlags:null!=(l=s.wasteFlags)?l:[]})},setCompression:s=>e({compression:s}),setFileIndex:s=>e({fileIndex:s}),setScheduler:(s,l,t)=>e({tasks:s,taskDefinitions:l,deadLetters:t}),setHealth:s=>e({health:s}),setLearningMemory:s=>e({learningMemory:s}),setActionLog:s=>e({actionLog:s}),setBugs:s=>e({bugs:s}),setWasteFlags:s=>e({wasteFlags:s}),setDesignImages:s=>e({designImages:s}),setConfig:s=>e({config:s}),setSync:s=>e({sync:s}),setChannel:s=>e({channel:s}),setWiki:s=>e({wiki:s}),setWikiNote:s=>e({wikiNote:s})}))},6225:(e,s,l)=>{"use strict";l.d(s,{E:()=>n});var t=l(5155);function n(e){let{bars:s,width:l=720,height:n=140}=e;if(!s.length)return(0,t.jsx)("div",{className:"empty",style:{height:n,display:"grid",placeItems:"center"},children:(0,t.jsx)("div",{children:(0,t.jsx)("h4",{children:"No data yet"})})});let a=l-36-12,i=n-10-22,o=1.15*Math.max(...s.map(e=>e.value))||1,r=a/s.length*.62,d=a/s.length-r;return(0,t.jsxs)("svg",{width:l,height:n,style:{display:"block",maxWidth:"100%"},children:[[0,.25,.5,.75,1].map((e,s)=>(0,t.jsx)("line",{x1:36,x2:l-12,y1:10+i-e*i,y2:10+i-e*i,stroke:"var(--line-1)",strokeDasharray:"2 3"},s)),s.map((e,s)=>{let l=e.value/o*i,a=36+s*(r+d)+d/2;return(0,t.jsxs)("g",{children:[(0,t.jsx)("rect",{x:a,y:10+i-l,width:r,height:l,rx:"2",fill:e.color||"var(--accent)",opacity:"0.85"}),(0,t.jsx)("text",{x:a+r/2,y:n-6,textAnchor:"middle",fontSize:"9",fontFamily:"var(--font-mono), monospace",fill:"var(--fg-3)",children:e.label})]},s)})]})}},6258:(e,s,l)=>{"use strict";l.r(s),l.d(s,{default:()=>y});var t=l(5155),n=l(2115),a=l(2619),i=l.n(a),o=l(3928),r=l(3742),d=l(9503),c=l(7125),h=l(6845),u=l(6970),m=l(1044);function v(e){let{series:s,width:l=720,height:n=180}=e;if(!s.length||!s[0].data.length)return(0,t.jsx)("div",{className:"empty",style:{height:n,display:"grid",placeItems:"center"},children:(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{children:"No data yet"}),(0,t.jsx)("span",{children:"chart will populate when sessions arrive"})]})});let a=s[0].data.map(e=>e.x),i=1.15*Math.max(...s.flatMap(e=>e.data.map(e=>e.y)))||1,o=l-36-12,r=n-14-24,d=e=>36+(1===a.length?o/2:e/(a.length-1)*o),c=e=>14+r-(e-0)/(i-0||1)*r,h=Array.from({length:5},(e,s)=>{let l=0+(i-0)/4*s;return{v:l,y:c(l)}});return(0,t.jsxs)("svg",{width:l,height:n,style:{display:"block",maxWidth:"100%"},children:[h.map((e,s)=>(0,t.jsxs)("g",{children:[(0,t.jsx)("line",{x1:36,x2:l-12,y1:e.y,y2:e.y,stroke:"var(--line-1)",strokeDasharray:"2 3"}),(0,t.jsxs)("text",{x:30,y:e.y+3,textAnchor:"end",fontSize:"9",fontFamily:"var(--font-mono), monospace",fill:"var(--fg-3)",children:[Math.round(e.v),"k"]})]},s)),a.map((e,s)=>(0,t.jsx)("text",{x:d(s),y:n-6,textAnchor:"middle",fontSize:"9",fontFamily:"var(--font-mono), monospace",fill:"var(--fg-3)",children:e},s)),s.map((e,s)=>{let l=e.data.map((e,s)=>"".concat(0===s?"M":"L").concat(d(s),",").concat(c(e.y))).join(" "),n="".concat(l," L").concat(d(e.data.length-1),",").concat(c(0)," L").concat(d(0),",").concat(c(0)," Z");return(0,t.jsxs)("g",{children:[e.fill&&(0,t.jsx)("path",{d:n,fill:e.color,opacity:"0.12"}),(0,t.jsx)("path",{d:l,fill:"none",stroke:e.color,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"}),e.data.map((s,l)=>(0,t.jsx)("circle",{cx:d(l),cy:c(s.y),r:"2",fill:"var(--bg-0)",stroke:e.color,strokeWidth:"1.4"},l))]},s)})]})}var x=l(6225),g=l(7e3);function p(e){return e?e.toLocaleString():"0"}let j={fontSize:10.5,color:"var(--fg-3)",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:4,fontWeight:600};function M(e){let{heuristic:s,measured:l}=e,n=s+l,a=n>0?s/n*100:100,i=n>0?l/n*100:0;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"row",style:{alignItems:"baseline",gap:8,marginBottom:10},children:[(0,t.jsx)("span",{className:"mono strong",style:{fontSize:34,lineHeight:1},children:p(n)}),(0,t.jsx)("span",{className:"muted",style:{fontSize:12},children:"tokens saved \xb7 lifetime"})]}),(0,t.jsxs)("div",{className:"row",style:{height:12,borderRadius:6,overflow:"hidden",background:"var(--bg-2)",gap:0},role:"img","aria-label":"Read savings ".concat(s," tokens, compression savings ").concat(l," tokens"),children:[(0,t.jsx)("span",{style:{width:"".concat(a,"%"),background:"var(--fg-2)",display:"block",height:"100%"}}),(0,t.jsx)("span",{style:{width:"".concat(i,"%"),background:"var(--accent)",display:"block",height:"100%"}})]}),(0,t.jsxs)("div",{className:"grid g-2",style:{marginTop:12,gap:16},children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"row tight",style:{gap:6},children:[(0,t.jsx)("i",{style:{width:8,height:8,borderRadius:2,background:"var(--fg-2)",display:"inline-block"}}),(0,t.jsx)("span",{style:{fontSize:12},children:"Read savings"}),(0,t.jsx)(c.v,{children:"est."})]}),(0,t.jsx)("div",{className:"mono strong",style:{fontSize:18,marginTop:2},children:p(s)}),(0,t.jsx)("div",{className:"muted",style:{fontSize:10.5},children:"avoided re-reads via file index"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"row tight",style:{gap:6},children:[(0,t.jsx)("i",{style:{width:8,height:8,borderRadius:2,background:"var(--accent)",display:"inline-block"}}),(0,t.jsx)("span",{style:{fontSize:12},children:"Compression savings"}),(0,t.jsx)(c.v,{tone:"accent",children:"measured"})]}),(0,t.jsx)("div",{className:"mono strong",style:{fontSize:18,marginTop:2},children:p(l)}),(0,t.jsx)("div",{className:"muted",style:{fontSize:10.5},children:l>0?"shrunk tool output, byte-reversible":"not active yet"})]})]}),(0,t.jsxs)("p",{className:"muted",style:{fontSize:11,marginTop:12},children:["Two mechanisms, disjoint token streams: ",(0,t.jsx)("strong",{children:"read savings"})," is an estimate of context Mink kept the model from re-reading; ",(0,t.jsx)("strong",{children:"compression savings"})," is a measured byte delta on tool output. They sum without double-counting."]})]})}function f(){var e,s,l,a,f,y,k,N,b,w,z,S,T,L,I,C,H,V,D,F,R,W,A,E,Z,B,P,_,O,Y,G,K,U,q,J,Q,X;let $=(0,o.f)(e=>e.overview),ee=(0,o.f)(e=>e.ledger),es=(0,o.f)(e=>e.compression),el=(0,o.f)(e=>e.health),et=null==$?void 0:$.summary,en=null!=(I=null==ee?void 0:ee.sessions)?I:[],ea=en.length>0?en[en.length-1]:null,ei=(0,n.useMemo)(()=>(function(e){let s=Date.now(),l={},t=[];for(let e=6;e>=0;e--){let n=new Date(s-864e5*e).toLocaleDateString(void 0,{month:"short",day:"numeric"});l[n]={x:n,inT:0,outT:0,saved:0},t.push(n)}for(let s of e){var n,a,i,o,r;let e=function(e){try{return new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"})}catch(s){return e.slice(0,10)}}(s.startTimestamp);if(!l[e])continue;let t=null!=(i=null==(n=s.totals)?void 0:n.estimatedTokens)?i:0,d=(null!=(o=null==(a=s.totals)?void 0:a.writeCount)?o:0)*600;l[e].inT+=Math.max(0,t-d),l[e].outT+=d,l[e].saved+=null!=(r=s.estimatedSavings)?r:0}return t.map(e=>l[e])})(en),[en]),eo=[{name:"saved",color:"var(--accent)",fill:!0,data:ei.map(e=>({x:e.x,y:Math.round(e.saved/1e3)}))},{name:"in",color:"var(--fg-2)",fill:!1,data:ei.map(e=>({x:e.x,y:Math.round(e.inT/1e3)}))},{name:"out",color:"var(--fg-3)",fill:!1,data:ei.map(e=>({x:e.x,y:Math.round(e.outT/1e3)}))}],er=null!=(C=null==et?void 0:et.estimatedSavings)?C:0,ed=null!=(V=null!=(H=null==es?void 0:es.lifetime.totalMeasuredSavings)?H:null==$||null==(e=$.compression)?void 0:e.totalMeasuredSavings)?V:0,ec=null!=(F=null!=(D=null==es?void 0:es.arms.compressed.originalTokens)?D:null==$||null==(s=$.compression)?void 0:s.totalOriginalTokens)?F:0,eh=null!=(W=null!=(R=null==es?void 0:es.arms.compressed.compressedTokens)?R:null==$||null==(l=$.compression)?void 0:l.totalCompressedTokens)?W:0,eu=null!=(E=null!=(A=null==es?void 0:es.arms.compressed.events)?A:null==$||null==(a=$.compression)?void 0:a.totalEvents)?E:0,em=null!=(B=null!=(Z=null==es?void 0:es.lifetime.totalHoldoutEvents)?Z:null==$||null==(f=$.compression)?void 0:f.totalHoldoutEvents)?B:0,ev=ec>0?ed/ec*100:0,ex=eu>0||ed>0,eg=null!=(P=null==ea||null==(y=ea.totals)?void 0:y.readCount)?P:0,ep=null!=(_=null==ea||null==(k=ea.totals)?void 0:k.writeCount)?_:0,ej=null!=(O=null==ea||null==(N=ea.totals)?void 0:N.estimatedTokens)?O:0,eM=null!=(Y=null==ea?void 0:ea.estimatedSavings)?Y:0,ef=!!(ea&&!ea.endTimestamp);return(0,t.jsxs)("div",{className:"page",children:[(0,t.jsxs)("div",{className:"page-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"page-title",children:"Overview"}),(0,t.jsxs)("p",{className:"page-sub",children:[null!=(G=null==$||null==(b=$.project)?void 0:b.name)?G:"—"," \xb7 ",(null==$||null==(w=$.daemon)?void 0:w.running)?"daemon online \xb7 uptime ".concat((0,g.Y0)(null!=(K=null==el?void 0:el.uptimeMs)?K:0)):"daemon offline"]})]}),(0,t.jsx)("div",{className:"page-actions",children:(0,t.jsx)(h.t,{icon:"refresh",variant:"ghost",onClick:()=>location.reload(),children:"Refresh"})})]}),(0,t.jsxs)("div",{className:"grid g-2",style:{gridTemplateColumns:"1.4fr 1fr",alignItems:"stretch"},children:[(0,t.jsx)(r.Z,{title:"Total tokens saved",sub:"read savings (est.) + compression (measured)",children:(0,t.jsx)(M,{heuristic:er,measured:ed})}),(0,t.jsx)(r.Z,{title:"Lifetime",sub:"across all sessions",children:(0,t.jsxs)("div",{className:"grid g-2",style:{gap:12},children:[(0,t.jsx)(d.h,{label:"Total tokens",value:p(null==et?void 0:et.totalTokens)}),(0,t.jsx)(d.h,{label:"Sessions",value:p(null==et?void 0:et.totalSessions)}),(0,t.jsx)(d.h,{label:"Read savings \xb7 est.",value:p(er),deltaTone:"up",delta:"▲ heuristic",spark:ei.map(e=>Math.round(e.saved/1e3)),sparkTone:"accent"}),(0,t.jsx)(d.h,{label:"Compression \xb7 measured",value:p(ed),deltaTone:"up",delta:ex?"▲ ".concat(ev.toFixed(0),"% smaller"):"— inactive"})]})})]}),(0,t.jsx)("div",{style:{height:14}}),(0,t.jsxs)("div",{className:"grid g-2",children:[(0,t.jsxs)(r.Z,{title:"Token usage — last 7 days",sub:"in \xb7 out \xb7 read savings (est., per session)",children:[(0,t.jsx)(v,{series:eo,width:560,height:180}),(0,t.jsxs)("div",{className:"chart-legend",children:[(0,t.jsxs)("span",{children:[(0,t.jsx)("i",{style:{background:"var(--accent)"}}),"read saved"]}),(0,t.jsxs)("span",{children:[(0,t.jsx)("i",{style:{background:"var(--fg-2)"}}),"in"]}),(0,t.jsxs)("span",{children:[(0,t.jsx)("i",{style:{background:"var(--fg-3)"}}),"out"]})]})]}),(0,t.jsxs)(r.Z,{title:(0,t.jsxs)("span",{className:"row tight",children:[(0,t.jsx)("span",{children:ef?"Active session":"Most recent session"}),ef&&(0,t.jsx)("span",{className:"chip accent mono",children:"● live"})]}),sub:(0,t.jsx)("span",{className:"mono",children:null!=(U=null==ea?void 0:ea.sessionId)?U:"—"}),children:[(0,t.jsxs)("div",{className:"grid g-2",style:{marginBottom:12,gap:12},children:[(0,t.jsx)(d.h,{label:"Tokens (session)",value:p(ej),live:ef}),(0,t.jsx)(d.h,{label:"Read saved \xb7 est.",value:p(eM),deltaTone:"up",delta:eM>0?"▲ vs unassisted":void 0,live:ef})]}),(0,t.jsxs)("div",{className:"grid g-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:j,children:"Reads"}),(0,t.jsxs)("div",{className:"row",children:[(0,t.jsx)("span",{className:"mono strong",style:{fontSize:18},children:eg}),(0,t.jsx)(u.y,{value:eg,max:200})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:j,children:"Writes"}),(0,t.jsxs)("div",{className:"row",children:[(0,t.jsx)("span",{className:"mono strong",style:{fontSize:18},children:ep}),(0,t.jsx)(u.y,{value:ep,max:80})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:j,children:"Index hits"}),(0,t.jsxs)("div",{className:"row",children:[(0,t.jsx)("span",{className:"mono strong",style:{fontSize:18},children:null!=(q=null==ea||null==(z=ea.totals)?void 0:z.fileIndexHits)?q:0}),(0,t.jsx)(u.y,{value:null!=(J=null==ea||null==(S=ea.totals)?void 0:S.fileIndexHits)?J:0,max:Math.max(1,(null!=(Q=null==ea||null==(T=ea.totals)?void 0:T.fileIndexHits)?Q:0)+(null!=(X=null==ea||null==(L=ea.totals)?void 0:L.fileIndexMisses)?X:0))})]})]})]})]})]}),(0,t.jsx)("div",{style:{height:14}}),(0,t.jsx)(r.Z,{title:"Compression — measured savings",sub:"reversible tool-output compression \xb7 lifetime",tools:(0,t.jsxs)(i(),{href:"/compression",className:"sb-item",style:{fontSize:11,padding:"2px 8px"},children:["View detail ",(0,t.jsx)(m.I,{name:"chev",size:11})]}),children:ex?(0,t.jsxs)("div",{className:"grid g-2",style:{gap:16,alignItems:"center"},children:[(0,t.jsxs)("div",{className:"grid g-2",style:{gap:12},children:[(0,t.jsx)(d.h,{label:"Measured savings",value:p(ed),deltaTone:"up",delta:"▲ tokens"}),(0,t.jsx)(d.h,{label:"Compression ratio",value:"".concat(ev.toFixed(0),"%")}),(0,t.jsx)(d.h,{label:"Compressed events",value:p(eu)}),(0,t.jsx)(d.h,{label:"Held out (control)",value:p(em),delta:0===em?"⚠ no A/B control yet":void 0})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(x.E,{bars:[{label:"original",value:ec,color:"var(--fg-2)"},{label:"compressed",value:eh,color:"var(--accent)"}],width:360,height:150}),(0,t.jsxs)("p",{className:"muted",style:{fontSize:11,marginTop:4},children:["ⓘ Lifetime totals — not broken down per session.",0===em&&" Measured, but not yet holdout-validated."]})]})]}):(0,t.jsxs)("div",{className:"empty",children:[(0,t.jsx)("h4",{children:(null==$?void 0:$.compression)||es?"No compression events yet":"Compression inactive"}),(0,t.jsx)("p",{className:"muted",style:{fontSize:12},children:"Your read savings above still apply. Large tool outputs (Read / Bash / Grep / MCP) will be measured here once compression runs. Enable with:"}),(0,t.jsx)("pre",{className:"mono",style:{fontSize:12,marginTop:8},children:"mink config set compression.enabled true"})]})}),(0,t.jsx)("div",{style:{height:14}}),(0,t.jsx)(r.Z,{title:"Session history",sub:"".concat(en.length," sessions \xb7 per-session read savings"),flush:!0,children:0===en.length?(0,t.jsxs)("div",{className:"empty",children:[(0,t.jsx)("h4",{children:"No sessions recorded yet"}),(0,t.jsx)("span",{children:"start Claude Code in a project with mink hooks to see data."})]}):(0,t.jsxs)("table",{className:"tbl",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{children:"Status"}),(0,t.jsx)("th",{children:"ID"}),(0,t.jsx)("th",{children:"Started"}),(0,t.jsx)("th",{className:"right",children:"Reads"}),(0,t.jsx)("th",{className:"right",children:"Writes"}),(0,t.jsx)("th",{className:"right",children:"Tokens"}),(0,t.jsx)("th",{className:"right",children:"Read saved \xb7 est."})]})}),(0,t.jsx)("tbody",{children:[...en].reverse().slice(0,30).map(e=>{var s,l,n,a,i;return(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{children:e.endTimestamp?(0,t.jsx)("span",{className:"muted mono",style:{fontSize:10},children:"done"}):(0,t.jsx)(c.v,{tone:"accent",children:"● live"})}),(0,t.jsx)("td",{className:"mono",children:e.sessionId}),(0,t.jsx)("td",{children:e.startTimestamp?new Date(e.startTimestamp).toLocaleString():"—"}),(0,t.jsx)("td",{className:"right num",children:null!=(a=null==(s=e.totals)?void 0:s.readCount)?a:0}),(0,t.jsx)("td",{className:"right num",children:null!=(i=null==(l=e.totals)?void 0:l.writeCount)?i:0}),(0,t.jsx)("td",{className:"right num",children:p(null==(n=e.totals)?void 0:n.estimatedTokens)}),(0,t.jsx)("td",{className:"right num",children:(0,t.jsx)("span",{className:"strong",children:p(e.estimatedSavings)})})]},e.sessionId)})})]})})]})}function y(){return(0,t.jsx)(f,{})}},6845:(e,s,l)=>{"use strict";l.d(s,{t:()=>a});var t=l(5155),n=l(1044);function a(e){let{icon:s,variant:l,size:a,className:i="",children:o,...r}=e,d=["btn"];return l&&d.push(l),a&&d.push(a),i&&d.push(i),(0,t.jsxs)("button",{className:d.join(" "),...r,children:[s&&(0,t.jsx)(n.I,{name:s}),o]})}},6970:(e,s,l)=>{"use strict";l.d(s,{y:()=>n});var t=l(5155);function n(e){let{value:s,max:l=100,tone:n="",className:a=""}=e,i=Math.max(0,Math.min(100,s/l*100));return(0,t.jsx)("div",{className:"bar ".concat(n," ").concat(a).trim(),children:(0,t.jsx)("span",{style:{width:"".concat(i,"%")}})})}},7e3:(e,s,l)=>{"use strict";function t(e){return e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function n(e){if(!e||e<=0)return"—";let s=Math.floor(e/1e3),l=Math.floor(s/60),t=Math.floor(l/60);return t>0?t+"h "+l%60+"m":l>0?l+"m "+s%60+"s":s+"s"}function a(e){if(!e)return"—";try{let s=new Date(e);return s.toLocaleDateString()+" "+s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch(s){return e}}l.d(s,{Y0:()=>n,aT:()=>t,r6:()=>a})},7125:(e,s,l)=>{"use strict";l.d(s,{v:()=>n});var t=l(5155);function n(e){let{tone:s="",children:l,className:n=""}=e;return(0,t.jsx)("span",{className:"chip ".concat(s," ").concat(n).trim(),children:l})}},9503:(e,s,l)=>{"use strict";l.d(s,{h:()=>a});var t=l(5155);function n(e){let{data:s,width:l=60,height:n=22,tone:a=""}=e;if(!s.length)return null;let i=Math.min(...s),o=Math.max(...s)-i||1,r=s.map((e,t)=>{let a=1===s.length?0:t/(s.length-1)*l,r=n-(e-i)/o*n;return"".concat(a.toFixed(1),",").concat(r.toFixed(1))}).join(" ");return(0,t.jsx)("svg",{width:l,height:n,className:"spark",children:(0,t.jsx)("polyline",{points:r,fill:"none",stroke:"accent"===a?"var(--accent)":"red"===a?"var(--red)":"var(--fg-2)",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function a(e){let{label:s,value:l,delta:a,deltaTone:i="",spark:o,sparkTone:r,live:d,className:c="",style:h}=e;return(0,t.jsxs)("div",{className:"kpi ".concat(c).trim(),style:h,children:[(0,t.jsx)("div",{className:"label",children:s}),(0,t.jsx)("div",{className:"value mono ".concat(d?"live-num":"").trim(),children:l}),a&&(0,t.jsx)("div",{className:"delta ".concat(i).trim(),children:a}),o&&(0,t.jsx)("div",{className:"spark",children:(0,t.jsx)(n,{data:o,tone:r})})]})}}},e=>{e.O(0,[157,441,255,358],()=>e(e.s=264)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[395],{1044:(e,t,n)=>{"use strict";n.d(t,{I:()=>l});var a=n(5155);let s={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function l(e){let{name:t,size:n=14,stroke:l=1.7,className:i=""}=e,r=s[t];return r?(0,a.jsx)("svg",{className:"icn ".concat(i).trim(),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:l,strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:r})}):null}},2327:(e,t,n)=>{"use strict";async function a(e,t){let n=t?"".concat(e).concat(e.includes("?")?"&":"?","project=").concat(encodeURIComponent(t)):e,a=await fetch(n);if(!a.ok)throw Error("API error ".concat(a.status,": ").concat(e));return a.json()}function s(){return a("/api/projects")}function l(e){return a("/api/overview",e)}function i(e){return a("/api/token-ledger",e)}function r(e){return a("/api/compression",e)}function c(e){return a("/api/file-index",e)}function o(e){return a("/api/scheduler",e)}function d(e){return a("/api/learning-memory",e)}function h(e){return a("/api/action-log",e)}function u(e){return a("/api/bugs",e)}function m(e){return a("/api/design",e)}async function v(e){return(await fetch("/api/switch-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e})})).json()}async function f(e,t){let n=t?"?project=".concat(encodeURIComponent(t)):"";return(await fetch("/api/tasks/".concat(encodeURIComponent(e),"/run").concat(n),{method:"POST"})).json()}async function j(e,t){let n=t?"?project=".concat(encodeURIComponent(t)):"";return(await fetch("/api/dead-letter/".concat(encodeURIComponent(e),"/retry").concat(n),{method:"POST"})).json()}async function p(e){let t=e?"?project=".concat(encodeURIComponent(e)):"";return(await fetch("/api/rescan".concat(t),{method:"POST"})).json()}async function g(){return(await fetch("/api/daemon/start",{method:"POST"})).json()}async function M(){return(await fetch("/api/daemon/stop",{method:"POST"})).json()}async function x(){return(await fetch("/api/daemon/restart",{method:"POST"})).json()}function y(){return a("/api/config")}async function b(e,t){return(await fetch("/api/config/set",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,value:t})})).json()}async function N(e,t){return(await fetch("/api/config/reset",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,all:t})})).json()}function w(){return a("/api/sync")}async function k(){return(await fetch("/api/sync/pull",{method:"POST"})).json()}async function S(){return(await fetch("/api/sync/push",{method:"POST"})).json()}async function z(){return(await fetch("/api/sync/disconnect",{method:"POST"})).json()}function P(){return a("/api/channel")}async function L(){return(await fetch("/api/channel/start",{method:"POST"})).json()}async function O(){return(await fetch("/api/channel/stop",{method:"POST"})).json()}async function I(){return(await fetch("/api/channel/restart",{method:"POST"})).json()}function C(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new URLSearchParams;null!=e.limit&&t.set("limit",String(e.limit)),e.category&&t.set("category",e.category);let n=t.toString();return a("/api/wiki".concat(n?"?".concat(n):""))}function T(e){return a("/api/wiki/note?path=".concat(encodeURIComponent(e)))}function V(e){let t={"Content-Type":"application/json"};return e&&(t["X-Mink-Dedup-Key"]=e),t}async function H(e){return(await fetch("/api/wiki/notes",{method:"POST",headers:V(e.dedupKey),body:JSON.stringify({mode:e.mode,title:e.title,category:e.category,body:e.body,tags:e.tags})})).json()}async function D(e,t){return(await fetch("/api/wiki/daily",{method:"POST",headers:V(t),body:JSON.stringify({content:e})})).json()}async function R(e){return(await fetch("/api/wiki/ingest",{method:"POST",headers:V(e.dedupKey),body:JSON.stringify({sourcePath:e.sourcePath,category:e.category,tags:e.tags})})).json()}n.d(t,{$Z:()=>I,Aq:()=>z,Bf:()=>r,D:()=>C,Dz:()=>y,EP:()=>l,FW:()=>N,G1:()=>P,Gs:()=>w,Iw:()=>D,MP:()=>u,On:()=>L,P:()=>f,Vo:()=>i,WH:()=>O,Z4:()=>j,ZN:()=>T,ab:()=>x,co:()=>d,e2:()=>o,fX:()=>g,hD:()=>p,hY:()=>m,jm:()=>k,kH:()=>S,p4:()=>H,pu:()=>h,tf:()=>R,vj:()=>s,vo:()=>M,xl:()=>c,yJ:()=>b,yP:()=>v})},3187:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>v});var a=n(5155),s=n(2115),l=n(3928),i=n(3742),r=n(7125),c=n(6845),o=n(4239);function d(e){let{tabs:t,active:n,onChange:s,className:l=""}=e;return(0,a.jsx)("div",{className:"tabs ".concat(l).trim(),children:t.map(e=>(0,a.jsxs)("button",{type:"button",className:"tab ".concat(n===e.id?"on":"").trim(),onClick:()=>s(e.id),children:[e.label,null!=e.count&&(0,a.jsx)("span",{className:"muted mono",style:{marginLeft:6,fontSize:10},children:e.count})]},e.id))})}var h=n(2327),u=n(7e3);function m(){var e;let t=(0,l.f)(e=>e.taskDefinitions),n=(0,l.f)(e=>e.tasks),m=(0,l.f)(e=>e.deadLetters),v=(0,l.f)(e=>e.activeProjectId),[f,j]=(0,s.useState)("tasks"),[p,g]=(0,s.useState)(new Set);function M(e,t){g(t=>new Set(t).add(e)),t().finally(()=>{g(t=>{let n=new Set(t);return n.delete(e),n})})}let x=n.map(e=>e.nextRunAt).filter(Boolean).sort()[0],y=(()=>{let e=n.length;if(0===e)return"—";let t=n.filter(e=>0===e.consecutiveFailures).length;return"".concat((t/e*100).toFixed(1),"%")})();return(0,a.jsxs)("div",{className:"page",children:[(0,a.jsxs)("div",{className:"page-head",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"page-title",children:"Scheduler"}),(0,a.jsx)("p",{className:"page-sub",children:"Cron-based tasks \xb7 retry with exponential backoff \xb7 dead letter queue"})]}),(0,a.jsx)("div",{className:"page-actions",children:(0,a.jsx)(c.t,{icon:"plus",variant:"primary",disabled:!0,title:"Write endpoint coming soon",children:"New task"})})]}),(0,a.jsxs)("div",{className:"grid g-4",style:{marginBottom:14},children:[(0,a.jsxs)("div",{className:"kpi",children:[(0,a.jsx)("div",{className:"label",children:"Tasks"}),(0,a.jsx)("div",{className:"value mono",children:t.length}),(0,a.jsxs)("div",{className:"delta",children:[t.filter(e=>e.enabled).length," enabled"]})]}),(0,a.jsxs)("div",{className:"kpi",children:[(0,a.jsx)("div",{className:"label",children:"Next run"}),(0,a.jsx)("div",{className:"value mono",style:{fontSize:14},children:x?null!=(e=(0,u.r6)(x).split(" ")[1])?e:(0,u.r6)(x):"—"})]}),(0,a.jsxs)("div",{className:"kpi",children:[(0,a.jsx)("div",{className:"label",children:"Success rate"}),(0,a.jsx)("div",{className:"value mono",children:y}),(0,a.jsx)("div",{className:"delta",children:"consecutive-success based"})]}),(0,a.jsxs)("div",{className:"kpi",children:[(0,a.jsx)("div",{className:"label",children:"Dead-letter"}),(0,a.jsx)("div",{className:"value mono",style:{color:m.length?"var(--amber)":void 0},children:m.length}),(0,a.jsx)("div",{className:"delta",children:"retryable"})]})]}),(0,a.jsx)(d,{tabs:[{id:"tasks",label:"Tasks",count:t.length},{id:"dlq",label:"Dead letter",count:m.length}],active:f,onChange:j}),"tasks"===f&&(0,a.jsx)(i.Z,{flush:!0,children:0===t.length?(0,a.jsx)("div",{className:"empty",children:(0,a.jsx)("h4",{children:"No tasks configured"})}):(0,a.jsxs)("table",{className:"tbl",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{}),(0,a.jsx)("th",{children:"Name"}),(0,a.jsx)("th",{children:"Schedule"}),(0,a.jsx)("th",{children:"Last"}),(0,a.jsx)("th",{children:"Next"}),(0,a.jsx)("th",{children:"Status"}),(0,a.jsx)("th",{})]})}),(0,a.jsx)("tbody",{children:t.map(e=>{var t,s,l;let i=n.find(t=>t.taskId===e.id),d=null!=(t=null==i?void 0:i.status)?t:"idle",m=p.has(e.id);return(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{children:(0,a.jsx)(o.l,{on:e.enabled,className:""})}),(0,a.jsx)("td",{className:"mono strong",children:e.name}),(0,a.jsx)("td",{className:"mono muted",children:e.schedule}),(0,a.jsx)("td",{className:"mono muted",children:(0,u.r6)(null!=(s=null==i?void 0:i.lastRunAt)?s:"")}),(0,a.jsx)("td",{className:"mono",children:(0,u.r6)(null!=(l=null==i?void 0:i.nextRunAt)?l:"")}),(0,a.jsx)("td",{children:(0,a.jsx)(r.v,{tone:"running"===d?"accent":"retrying"===d?"amber":"dead-lettered"===d?"red":"",children:d})}),(0,a.jsx)("td",{className:"right",children:(0,a.jsx)(c.t,{size:"sm",variant:"ghost",icon:m?"refresh":"play",disabled:m,onClick:()=>M(e.id,()=>(0,h.P)(e.id,null!=v?v:void 0)),children:m?"Running…":"Run"})})]},e.id)})})]})}),"dlq"===f&&(0,a.jsx)(i.Z,{title:"Dead letter queue",sub:"".concat(m.length," failed runs retained"),flush:!0,children:0===m.length?(0,a.jsx)("div",{className:"empty",children:(0,a.jsx)("h4",{children:"No dead-lettered tasks"})}):(0,a.jsxs)("table",{className:"tbl",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{children:"Task"}),(0,a.jsx)("th",{children:"Last error"}),(0,a.jsx)("th",{className:"right",children:"Attempts"}),(0,a.jsx)("th",{children:"At"}),(0,a.jsx)("th",{})]})}),(0,a.jsx)("tbody",{children:m.map(e=>{var t;let n="dl-".concat(e.taskId),s=p.has(n),l=null==(t=e.errorMessages)?void 0:t[e.errorMessages.length-1];return(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:"mono strong",children:e.taskId}),(0,a.jsx)("td",{className:"muted",style:{maxWidth:380,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:null!=l?l:"—"}),(0,a.jsx)("td",{className:"right num",children:e.attemptCount}),(0,a.jsx)("td",{className:"mono muted",children:(0,u.r6)(e.deadLetteredAt)}),(0,a.jsx)("td",{className:"right",children:(0,a.jsx)(c.t,{size:"sm",icon:"refresh",disabled:s,onClick:()=>M(n,()=>(0,h.Z4)(e.taskId,null!=v?v:void 0)),children:s?"Retrying…":"Retry"})})]},e.taskId)})})]})})]})}function v(){return(0,a.jsx)(m,{})}},3742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var a=n(5155);function s(e){let{title:t,sub:n,tools:s,flush:l,className:i="",style:r,children:c}=e,o=null!=t||null!=s;return(0,a.jsxs)("div",{className:"card ".concat(i).trim(),style:r,children:[o&&(0,a.jsxs)("div",{className:"card-head",children:[null!=t&&("string"==typeof t?(0,a.jsx)("h3",{children:t}):t),null!=n&&(0,a.jsx)("span",{className:"sub",children:n}),null!=s&&(0,a.jsx)("div",{className:"tools",children:s})]}),(0,a.jsx)("div",{className:"card-body ".concat(l?"flush":"").trim(),children:c})]})}},3772:(e,t,n)=>{Promise.resolve().then(n.bind(n,3187))},3928:(e,t,n)=>{"use strict";n.d(t,{f:()=>a});let a=(0,n(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:t=>e({connected:t}),setProjects:(t,n)=>e({projects:t,activeProjectId:n}),setActiveProject:t=>e({activeProjectId:t,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:t=>e({overview:t}),setLedger:t=>{var n;return e({ledger:t,wasteFlags:null!=(n=t.wasteFlags)?n:[]})},setCompression:t=>e({compression:t}),setFileIndex:t=>e({fileIndex:t}),setScheduler:(t,n,a)=>e({tasks:t,taskDefinitions:n,deadLetters:a}),setHealth:t=>e({health:t}),setLearningMemory:t=>e({learningMemory:t}),setActionLog:t=>e({actionLog:t}),setBugs:t=>e({bugs:t}),setWasteFlags:t=>e({wasteFlags:t}),setDesignImages:t=>e({designImages:t}),setConfig:t=>e({config:t}),setSync:t=>e({sync:t}),setChannel:t=>e({channel:t}),setWiki:t=>e({wiki:t}),setWikiNote:t=>e({wikiNote:t})}))},4239:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var a=n(5155);function s(e){let{on:t,onChange:n,className:s="",ariaLabel:l}=e;return(0,a.jsx)("button",{type:"button",role:"switch","aria-checked":t,"aria-label":l,className:"toggle ".concat(t?"on":""," ").concat(s).trim(),onClick:()=>null==n?void 0:n(!t)})}},5959:(e,t,n)=>{"use strict";n.d(t,{v:()=>i});var a=n(2115);let s=e=>{let t,n=new Set,a=(e,a)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=a?a:"object"!=typeof s||null===s)?s:Object.assign({},t,s),n.forEach(n=>n(t,e))}},s=()=>t,l={setState:a,getState:s,getInitialState:()=>i,subscribe:e=>(n.add(e),()=>n.delete(e))},i=t=e(a,s,l);return l},l=e=>{let t=(e=>e?s(e):s)(e),n=e=>(function(e,t=e=>e){let n=a.useSyncExternalStore(e.subscribe,a.useCallback(()=>t(e.getState()),[e,t]),a.useCallback(()=>t(e.getInitialState()),[e,t]));return a.useDebugValue(n),n})(t,e);return Object.assign(n,t),n},i=e=>e?l(e):l},6845:(e,t,n)=>{"use strict";n.d(t,{t:()=>l});var a=n(5155),s=n(1044);function l(e){let{icon:t,variant:n,size:l,className:i="",children:r,...c}=e,o=["btn"];return n&&o.push(n),l&&o.push(l),i&&o.push(i),(0,a.jsxs)("button",{className:o.join(" "),...c,children:[t&&(0,a.jsx)(s.I,{name:t}),r]})}},7e3:(e,t,n)=>{"use strict";function a(e){return e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function s(e){if(!e||e<=0)return"—";let t=Math.floor(e/1e3),n=Math.floor(t/60),a=Math.floor(n/60);return a>0?a+"h "+n%60+"m":n>0?n+"m "+t%60+"s":t+"s"}function l(e){if(!e)return"—";try{let t=new Date(e);return t.toLocaleDateString()+" "+t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch(t){return e}}n.d(t,{Y0:()=>s,aT:()=>a,r6:()=>l})},7125:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});var a=n(5155);function s(e){let{tone:t="",children:n,className:s=""}=e;return(0,a.jsx)("span",{className:"chip ".concat(t," ").concat(s).trim(),children:n})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=3772)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[769],{1044:(e,n,t)=>{"use strict";t.d(n,{I:()=>i});var s=t(5155);let a={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function i(e){let{name:n,size:t=14,stroke:i=1.7,className:l=""}=e,c=a[n];return c?(0,s.jsx)("svg",{className:"icn ".concat(l).trim(),width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:i,strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("path",{d:c})}):null}},2327:(e,n,t)=>{"use strict";async function s(e,n){let t=n?"".concat(e).concat(e.includes("?")?"&":"?","project=").concat(encodeURIComponent(n)):e,s=await fetch(t);if(!s.ok)throw Error("API error ".concat(s.status,": ").concat(e));return s.json()}function a(){return s("/api/projects")}function i(e){return s("/api/overview",e)}function l(e){return s("/api/token-ledger",e)}function c(e){return s("/api/compression",e)}function r(e){return s("/api/file-index",e)}function o(e){return s("/api/scheduler",e)}function d(e){return s("/api/learning-memory",e)}function h(e){return s("/api/action-log",e)}function u(e){return s("/api/bugs",e)}function m(e){return s("/api/design",e)}async function p(e){return(await fetch("/api/switch-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e})})).json()}async function v(e,n){let t=n?"?project=".concat(encodeURIComponent(n)):"";return(await fetch("/api/tasks/".concat(encodeURIComponent(e),"/run").concat(t),{method:"POST"})).json()}async function f(e,n){let t=n?"?project=".concat(encodeURIComponent(n)):"";return(await fetch("/api/dead-letter/".concat(encodeURIComponent(e),"/retry").concat(t),{method:"POST"})).json()}async function g(e){let n=e?"?project=".concat(encodeURIComponent(e)):"";return(await fetch("/api/rescan".concat(n),{method:"POST"})).json()}async function j(){return(await fetch("/api/daemon/start",{method:"POST"})).json()}async function y(){return(await fetch("/api/daemon/stop",{method:"POST"})).json()}async function x(){return(await fetch("/api/daemon/restart",{method:"POST"})).json()}function M(){return s("/api/config")}async function N(e,n){return(await fetch("/api/config/set",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,value:n})})).json()}async function b(e,n){return(await fetch("/api/config/reset",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,all:n})})).json()}function w(){return s("/api/sync")}async function k(){return(await fetch("/api/sync/pull",{method:"POST"})).json()}async function S(){return(await fetch("/api/sync/push",{method:"POST"})).json()}async function z(){return(await fetch("/api/sync/disconnect",{method:"POST"})).json()}function P(){return s("/api/channel")}async function O(){return(await fetch("/api/channel/start",{method:"POST"})).json()}async function L(){return(await fetch("/api/channel/stop",{method:"POST"})).json()}async function C(){return(await fetch("/api/channel/restart",{method:"POST"})).json()}function I(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=new URLSearchParams;null!=e.limit&&n.set("limit",String(e.limit)),e.category&&n.set("category",e.category);let t=n.toString();return s("/api/wiki".concat(t?"?".concat(t):""))}function T(e){return s("/api/wiki/note?path=".concat(encodeURIComponent(e)))}function V(e){let n={"Content-Type":"application/json"};return e&&(n["X-Mink-Dedup-Key"]=e),n}async function H(e){return(await fetch("/api/wiki/notes",{method:"POST",headers:V(e.dedupKey),body:JSON.stringify({mode:e.mode,title:e.title,category:e.category,body:e.body,tags:e.tags})})).json()}async function D(e,n){return(await fetch("/api/wiki/daily",{method:"POST",headers:V(n),body:JSON.stringify({content:e})})).json()}async function A(e){return(await fetch("/api/wiki/ingest",{method:"POST",headers:V(e.dedupKey),body:JSON.stringify({sourcePath:e.sourcePath,category:e.category,tags:e.tags})})).json()}t.d(n,{$Z:()=>C,Aq:()=>z,Bf:()=>c,D:()=>I,Dz:()=>M,EP:()=>i,FW:()=>b,G1:()=>P,Gs:()=>w,Iw:()=>D,MP:()=>u,On:()=>O,P:()=>v,Vo:()=>l,WH:()=>L,Z4:()=>f,ZN:()=>T,ab:()=>x,co:()=>d,e2:()=>o,fX:()=>j,hD:()=>g,hY:()=>m,jm:()=>k,kH:()=>S,p4:()=>H,pu:()=>h,tf:()=>A,vj:()=>a,vo:()=>y,xl:()=>r,yJ:()=>N,yP:()=>p})},3742:(e,n,t)=>{"use strict";t.d(n,{Z:()=>a});var s=t(5155);function a(e){let{title:n,sub:t,tools:a,flush:i,className:l="",style:c,children:r}=e,o=null!=n||null!=a;return(0,s.jsxs)("div",{className:"card ".concat(l).trim(),style:c,children:[o&&(0,s.jsxs)("div",{className:"card-head",children:[null!=n&&("string"==typeof n?(0,s.jsx)("h3",{children:n}):n),null!=t&&(0,s.jsx)("span",{className:"sub",children:t}),null!=a&&(0,s.jsx)("div",{className:"tools",children:a})]}),(0,s.jsx)("div",{className:"card-body ".concat(i?"flush":"").trim(),children:r})]})}},3928:(e,n,t)=>{"use strict";t.d(n,{f:()=>s});let s=(0,t(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:n=>e({connected:n}),setProjects:(n,t)=>e({projects:n,activeProjectId:t}),setActiveProject:n=>e({activeProjectId:n,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:n=>e({overview:n}),setLedger:n=>{var t;return e({ledger:n,wasteFlags:null!=(t=n.wasteFlags)?t:[]})},setCompression:n=>e({compression:n}),setFileIndex:n=>e({fileIndex:n}),setScheduler:(n,t,s)=>e({tasks:n,taskDefinitions:t,deadLetters:s}),setHealth:n=>e({health:n}),setLearningMemory:n=>e({learningMemory:n}),setActionLog:n=>e({actionLog:n}),setBugs:n=>e({bugs:n}),setWasteFlags:n=>e({wasteFlags:n}),setDesignImages:n=>e({designImages:n}),setConfig:n=>e({config:n}),setSync:n=>e({sync:n}),setChannel:n=>e({channel:n}),setWiki:n=>e({wiki:n}),setWikiNote:n=>e({wikiNote:n})}))},4239:(e,n,t)=>{"use strict";t.d(n,{l:()=>a});var s=t(5155);function a(e){let{on:n,onChange:t,className:a="",ariaLabel:i}=e;return(0,s.jsx)("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i,className:"toggle ".concat(n?"on":""," ").concat(a).trim(),onClick:()=>null==t?void 0:t(!n)})}},5959:(e,n,t)=>{"use strict";t.d(n,{v:()=>l});var s=t(2115);let a=e=>{let n,t=new Set,s=(e,s)=>{let a="function"==typeof e?e(n):e;if(!Object.is(a,n)){let e=n;n=(null!=s?s:"object"!=typeof a||null===a)?a:Object.assign({},n,a),t.forEach(t=>t(n,e))}},a=()=>n,i={setState:s,getState:a,getInitialState:()=>l,subscribe:e=>(t.add(e),()=>t.delete(e))},l=n=e(s,a,i);return i},i=e=>{let n=(e=>e?a(e):a)(e),t=e=>(function(e,n=e=>e){let t=s.useSyncExternalStore(e.subscribe,s.useCallback(()=>n(e.getState()),[e,n]),s.useCallback(()=>n(e.getInitialState()),[e,n]));return s.useDebugValue(t),t})(n,e);return Object.assign(t,n),t},l=e=>e?i(e):i},6845:(e,n,t)=>{"use strict";t.d(n,{t:()=>i});var s=t(5155),a=t(1044);function i(e){let{icon:n,variant:t,size:i,className:l="",children:c,...r}=e,o=["btn"];return t&&o.push(t),i&&o.push(i),l&&o.push(l),(0,s.jsxs)("button",{className:o.join(" "),...r,children:[n&&(0,s.jsx)(a.I,{name:n}),c]})}},7125:(e,n,t)=>{"use strict";t.d(n,{v:()=>a});var s=t(5155);function a(e){let{tone:n="",children:t,className:a=""}=e;return(0,s.jsx)("span",{className:"chip ".concat(n," ").concat(a).trim(),children:t})}},7808:(e,n,t)=>{Promise.resolve().then(t.bind(t,8375))},8375:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>p});var s=t(5155),a=t(2115),i=t(3742),l=t(7125),c=t(6845),r=t(4239),o=t(3928),d=t(2327);function h(e){if(!e)return"—";try{let n=new Date(e);if(Number.isNaN(n.getTime()))return e;return n.toLocaleString(void 0,{hour:"2-digit",minute:"2-digit",day:"2-digit",month:"short"})}catch(n){return e}}function u(){return(0,s.jsxs)("div",{className:"page",children:[(0,s.jsx)("div",{className:"page-head",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"page-title",children:"Sync"}),(0,s.jsx)("p",{className:"page-sub",children:"Git-backed sync of ~/.mink across machines"})]})}),(0,s.jsx)(i.Z,{title:"Not connected",children:(0,s.jsxs)("div",{className:"vstack",style:{padding:"12px 0"},children:[(0,s.jsx)("p",{className:"muted",style:{fontSize:12},children:"Cross-device sync is not set up yet. Initialize it from the CLI:"}),(0,s.jsx)("pre",{className:"mono inset",style:{padding:"10px 12px",fontSize:12},children:"mink sync init git@github.com:you/mink-backup.git"}),(0,s.jsx)("p",{className:"muted",style:{fontSize:11},children:"Once initialized, ~/.mink will pull on session start and push on session stop."})]})})]})}function m(){let e=(0,o.f)(e=>e.sync),[n,t]=(0,a.useState)(null),[m,p]=(0,a.useState)(null);if(!e)return(0,s.jsx)("div",{className:"page",children:(0,s.jsx)(i.Z,{title:"Sync",children:(0,s.jsx)("div",{className:"empty",children:(0,s.jsx)("h4",{children:"Loading…"})})})});if(!e.initialized)return(0,s.jsx)(u,{});async function v(e,n){t(e),p(null);try{var s;let t=await n();t.success||p(null!=(s=t.error)?s:"Failed to ".concat(e))}catch(e){p(e instanceof Error?e.message:String(e))}finally{t(null)}}return(0,s.jsxs)("div",{className:"page",children:[(0,s.jsxs)("div",{className:"page-head",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"page-title",children:"Sync"}),(0,s.jsx)("p",{className:"page-sub",children:"Git-backed sync of ~/.mink across machines — auto pull on start, auto push on stop"})]}),(0,s.jsxs)("div",{className:"page-actions",children:[(0,s.jsx)(c.t,{icon:"arrowDown",variant:"ghost",disabled:null!==n,onClick:()=>v("pull",d.jm),children:"pull"===n?"Pulling…":"Pull"}),(0,s.jsx)(c.t,{icon:"arrowUp",variant:"primary",disabled:null!==n,onClick:()=>v("push",d.kH),children:"push"===n?"Pushing…":"Push"})]})]}),m&&(0,s.jsxs)("div",{className:"kpi",style:{marginBottom:14,borderColor:"var(--danger, #c33)"},children:[(0,s.jsx)("div",{className:"label",style:{color:"var(--danger, #c33)"},children:"Error"}),(0,s.jsx)("div",{className:"value",style:{fontSize:12,whiteSpace:"pre-wrap"},children:m})]}),(0,s.jsxs)("div",{className:"grid g-4",style:{marginBottom:14},children:[(0,s.jsxs)("div",{className:"kpi",children:[(0,s.jsx)("div",{className:"label",children:"Status"}),(0,s.jsx)("div",{className:"value",style:{fontSize:14},children:e.enabled?"● Connected":"○ Paused"}),(0,s.jsx)("div",{className:"delta",children:e.branch||"—"})]}),(0,s.jsxs)("div",{className:"kpi",children:[(0,s.jsx)("div",{className:"label",children:"Ahead / Behind"}),(0,s.jsxs)("div",{className:"value mono",children:["↑",e.ahead," ↓",e.behind]}),(0,s.jsxs)("div",{className:"delta",children:["vs origin/",e.branch||"main"]})]}),(0,s.jsxs)("div",{className:"kpi",children:[(0,s.jsx)("div",{className:"label",children:"Last push"}),(0,s.jsx)("div",{className:"value mono",style:{fontSize:14},children:h(e.lastPush)})]}),(0,s.jsxs)("div",{className:"kpi",children:[(0,s.jsx)("div",{className:"label",children:"Last pull"}),(0,s.jsx)("div",{className:"value mono",style:{fontSize:14},children:h(e.lastPull)})]})]}),(0,s.jsxs)("div",{className:"grid g-2",children:[(0,s.jsx)(i.Z,{title:"Remote",children:(0,s.jsxs)("div",{className:"vstack",children:[(0,s.jsxs)("div",{className:"field",children:[(0,s.jsx)("label",{children:"Remote URL"}),(0,s.jsx)("input",{value:e.remote||"",className:"mono",readOnly:!0})]}),(0,s.jsxs)("div",{className:"field",children:[(0,s.jsx)("label",{children:"Branch"}),(0,s.jsx)("input",{value:e.branch||"",className:"mono",readOnly:!0})]}),(0,s.jsxs)("div",{className:"row",style:{padding:"4px 0"},children:[(0,s.jsxs)("div",{style:{flex:1},children:[(0,s.jsx)("div",{style:{fontSize:12,color:"var(--fg-0)"},children:"Auto-pull on session start"}),(0,s.jsx)("div",{className:"muted",style:{fontSize:11},children:"rebase-based, preserves local work"})]}),(0,s.jsx)(r.l,{on:e.enabled})]}),(0,s.jsxs)("div",{className:"row",style:{padding:"4px 0"},children:[(0,s.jsxs)("div",{style:{flex:1},children:[(0,s.jsx)("div",{style:{fontSize:12,color:"var(--fg-0)"},children:"Auto-push on session stop"}),(0,s.jsx)("div",{className:"muted",style:{fontSize:11},children:"commits changed state files"})]}),(0,s.jsx)(r.l,{on:e.enabled})]}),(0,s.jsx)("div",{className:"divider"}),(0,s.jsx)(c.t,{size:"sm",variant:"ghost",icon:"stop",onClick:()=>{if(window.confirm("Disconnect sync? This removes .git/ and clears sync config. Your data stays."))return v("disconnect",d.Aq)},disabled:null!==n,children:"disconnect"===n?"Disconnecting…":"Disconnect sync"})]})}),(0,s.jsx)(i.Z,{title:"Pending changes (".concat(e.pending.length,")"),sub:"ready to push",flush:!0,children:0===e.pending.length?(0,s.jsxs)("div",{className:"empty",children:[(0,s.jsx)("h4",{children:"Nothing to push"}),(0,s.jsx)("span",{children:"working tree clean"})]}):(0,s.jsxs)("table",{className:"tbl",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Op"}),(0,s.jsx)("th",{children:"File"})]})}),(0,s.jsx)("tbody",{children:e.pending.map(e=>{var n;return(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)(l.v,{tone:"A"===(n=e.op)?"accent":"D"===n?"red":"?"===n?"amber":"blue",children:e.op})}),(0,s.jsx)("td",{className:"mono",style:{fontSize:11},children:e.file})]},e.file)})})]})})]}),(0,s.jsx)("div",{style:{height:14}}),(0,s.jsx)(i.Z,{title:"Conflict handling",sub:"what happens when things go wrong",children:(0,s.jsx)("div",{className:"grid g-3",style:{gap:10},children:[["Pull conflict","Rebase is aborted. You're warned to resolve manually. Auto-sync pauses until resolved."],["Push failure","Local commit is preserved. It will be included in the next push."],["Timeout (>15s)","Operation cancelled. Sync never blocks your Claude session."]].map(e=>{let[n,t]=e;return(0,s.jsxs)("div",{className:"inset",style:{padding:"10px 12px"},children:[(0,s.jsx)("div",{className:"strong",style:{color:"var(--fg-0)",fontSize:12,marginBottom:4,fontFamily:"var(--font-inter)"},children:n}),(0,s.jsx)("div",{className:"muted",style:{fontSize:11,fontFamily:"var(--font-inter)"},children:t})]},n)})})})]})}function p(){return(0,s.jsx)(m,{})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=7808)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[288],{1044:(e,t,l)=>{"use strict";l.d(t,{I:()=>n});var s=l(5155);let a={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function n(e){let{name:t,size:l=14,stroke:n=1.7,className:i=""}=e,r=a[t];return r?(0,s.jsx)("svg",{className:"icn ".concat(i).trim(),width:l,height:l,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("path",{d:r})}):null}},1392:(e,t,l)=>{Promise.resolve().then(l.bind(l,1978))},1978:(e,t,l)=>{"use strict";l.r(t),l.d(t,{default:()=>m});var s=l(5155),a=l(2115),n=l(3928),i=l(3742),r=l(9503),o=l(6970),c=l(6845),d=l(6225),h=l(7e3);function u(){var e,t,l,u,m,v,x,M,g,j;let f=(0,n.f)(e=>e.ledger),p=null!=(t=null==f?void 0:f.sessions)?t:[],y=null==f?void 0:f.lifetime,N=null!=(l=null==f||null==(e=f.compression)?void 0:e.totalMeasuredSavings)?l:0,k=(0,a.useMemo)(()=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:7,l=Date.now(),s={},a=[];for(let e=t-1;e>=0;e--){let t=new Date(l-864e5*e).toLocaleDateString(void 0,{month:"short",day:"numeric"});s[t]=0,a.push(t)}for(let t of e){var n,i;let e=function(e){try{return new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"})}catch(t){return e.slice(0,10)}}(t.startTimestamp);e in s&&(s[e]+=null!=(i=null==(n=t.totals)?void 0:n.estimatedTokens)?i:0)}return a.map(e=>({label:e,value:s[e],color:"var(--fg-2)"}))})(p,7),[p]),w=k.reduce((e,t)=>e+t.value,0),z=p.filter(e=>{let t=new Date(e.startTimestamp).getTime();return Date.now()-t<6048e5}).reduce((e,t)=>{var l;return e+(null!=(l=t.estimatedSavings)?l:0)},0),b=w>0?(z/(w+z)*100).toFixed(1):"0.0";return(0,s.jsxs)("div",{className:"page",children:[(0,s.jsxs)("div",{className:"page-head",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"page-title",children:"Token ledger"}),(0,s.jsx)("p",{className:"page-sub",children:"Persistent usage history — per session, per day"})]}),(0,s.jsx)("div",{className:"page-actions",children:(0,s.jsx)(c.t,{icon:"download",variant:"ghost",disabled:!0,title:"CSV export coming soon",children:"Export CSV"})})]}),(0,s.jsxs)("div",{className:"grid g-4",style:{marginBottom:14},children:[(0,s.jsx)(r.h,{label:"Lifetime tokens",value:(0,h.aT)(null!=(u=null==y?void 0:y.totalTokens)?u:0)}),(0,s.jsx)(r.h,{label:"Lifetime reads",value:(0,h.aT)(null!=(m=null==y?void 0:y.totalReads)?m:0)}),(0,s.jsx)(r.h,{label:"Saved \xb7 estimated",value:(0,h.aT)(null!=(v=null==y?void 0:y.totalEstimatedSavings)?v:0),deltaTone:"up",delta:"▲ heuristic"}),(0,s.jsx)(r.h,{label:"Saved \xb7 measured",value:(0,h.aT)(N),deltaTone:"up",delta:"▲ compression"})]}),(0,s.jsxs)("div",{className:"grid g-2",children:[(0,s.jsx)(i.Z,{title:"Daily usage",sub:"last 7 days \xb7 tokens",children:(0,s.jsx)(d.E,{bars:k,width:560,height:180})}),(0,s.jsx)(i.Z,{title:"7-day savings",sub:"ratio ".concat(b,"%"),children:(0,s.jsxs)("div",{className:"vstack",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"row",style:{marginBottom:3},children:[(0,s.jsx)("span",{style:{fontSize:12},children:"Tokens processed"}),(0,s.jsx)("span",{className:"mono muted",style:{marginLeft:"auto",fontSize:11},children:(0,h.aT)(w)})]}),(0,s.jsx)(o.y,{value:w,max:Math.max(w+z,1)})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"row",style:{marginBottom:3},children:[(0,s.jsx)("span",{style:{fontSize:12},children:"Tokens saved"}),(0,s.jsx)("span",{className:"mono muted",style:{marginLeft:"auto",fontSize:11},children:(0,h.aT)(z)})]}),(0,s.jsx)(o.y,{value:z,max:Math.max(w+z,1),tone:"amber"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"row",style:{marginBottom:3},children:[(0,s.jsx)("span",{style:{fontSize:12},children:"File-index hits"}),(0,s.jsx)("span",{className:"mono muted",style:{marginLeft:"auto",fontSize:11},children:(0,h.aT)(null!=(x=null==y?void 0:y.totalFileIndexHits)?x:0)})]}),(0,s.jsx)(o.y,{value:null!=(M=null==y?void 0:y.totalFileIndexHits)?M:0,max:Math.max(1,(null!=(g=null==y?void 0:y.totalFileIndexHits)?g:0)+(null!=(j=null==y?void 0:y.totalFileIndexMisses)?j:0))})]})]})})]}),(0,s.jsx)("div",{style:{height:14}}),(0,s.jsx)(i.Z,{title:"Per-session breakdown",sub:"".concat(p.length," sessions"),flush:!0,children:0===p.length?(0,s.jsx)("div",{className:"empty",children:(0,s.jsx)("h4",{children:"No sessions yet"})}):(0,s.jsxs)("table",{className:"tbl",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Session"}),(0,s.jsx)("th",{children:"Started"}),(0,s.jsx)("th",{className:"right",children:"Reads"}),(0,s.jsx)("th",{className:"right",children:"Writes"}),(0,s.jsx)("th",{className:"right",children:"Tokens"}),(0,s.jsx)("th",{className:"right",children:"Saved"}),(0,s.jsx)("th",{children:"Ratio"})]})}),(0,s.jsx)("tbody",{children:[...p].reverse().slice(0,30).map(e=>{var t,l,a,n,i,r,c;let d=null!=(n=null==(t=e.totals)?void 0:t.estimatedTokens)?n:0,u=null!=(i=e.estimatedSavings)?i:0,m=d>0?u/(d+u)*100:0;return(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"mono",children:e.sessionId}),(0,s.jsx)("td",{children:e.startTimestamp?new Date(e.startTimestamp).toLocaleString():"—"}),(0,s.jsx)("td",{className:"right num",children:null!=(r=null==(l=e.totals)?void 0:l.readCount)?r:0}),(0,s.jsx)("td",{className:"right num",children:null!=(c=null==(a=e.totals)?void 0:a.writeCount)?c:0}),(0,s.jsx)("td",{className:"right num",children:(0,h.aT)(d)}),(0,s.jsx)("td",{className:"right num strong",children:(0,h.aT)(u)}),(0,s.jsx)("td",{style:{width:160},children:(0,s.jsxs)("div",{className:"row",children:[(0,s.jsx)(o.y,{value:m,max:100}),(0,s.jsxs)("span",{className:"mono muted",style:{fontSize:10},children:[m.toFixed(0),"%"]})]})})]},e.sessionId)})})]})})]})}function m(){return(0,s.jsx)(u,{})}},3742:(e,t,l)=>{"use strict";l.d(t,{Z:()=>a});var s=l(5155);function a(e){let{title:t,sub:l,tools:a,flush:n,className:i="",style:r,children:o}=e,c=null!=t||null!=a;return(0,s.jsxs)("div",{className:"card ".concat(i).trim(),style:r,children:[c&&(0,s.jsxs)("div",{className:"card-head",children:[null!=t&&("string"==typeof t?(0,s.jsx)("h3",{children:t}):t),null!=l&&(0,s.jsx)("span",{className:"sub",children:l}),null!=a&&(0,s.jsx)("div",{className:"tools",children:a})]}),(0,s.jsx)("div",{className:"card-body ".concat(n?"flush":"").trim(),children:o})]})}},3928:(e,t,l)=>{"use strict";l.d(t,{f:()=>s});let s=(0,l(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:t=>e({connected:t}),setProjects:(t,l)=>e({projects:t,activeProjectId:l}),setActiveProject:t=>e({activeProjectId:t,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:t=>e({overview:t}),setLedger:t=>{var l;return e({ledger:t,wasteFlags:null!=(l=t.wasteFlags)?l:[]})},setCompression:t=>e({compression:t}),setFileIndex:t=>e({fileIndex:t}),setScheduler:(t,l,s)=>e({tasks:t,taskDefinitions:l,deadLetters:s}),setHealth:t=>e({health:t}),setLearningMemory:t=>e({learningMemory:t}),setActionLog:t=>e({actionLog:t}),setBugs:t=>e({bugs:t}),setWasteFlags:t=>e({wasteFlags:t}),setDesignImages:t=>e({designImages:t}),setConfig:t=>e({config:t}),setSync:t=>e({sync:t}),setChannel:t=>e({channel:t}),setWiki:t=>e({wiki:t}),setWikiNote:t=>e({wikiNote:t})}))},5959:(e,t,l)=>{"use strict";l.d(t,{v:()=>i});var s=l(2115);let a=e=>{let t,l=new Set,s=(e,s)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=s?s:"object"!=typeof a||null===a)?a:Object.assign({},t,a),l.forEach(l=>l(t,e))}},a=()=>t,n={setState:s,getState:a,getInitialState:()=>i,subscribe:e=>(l.add(e),()=>l.delete(e))},i=t=e(s,a,n);return n},n=e=>{let t=(e=>e?a(e):a)(e),l=e=>(function(e,t=e=>e){let l=s.useSyncExternalStore(e.subscribe,s.useCallback(()=>t(e.getState()),[e,t]),s.useCallback(()=>t(e.getInitialState()),[e,t]));return s.useDebugValue(l),l})(t,e);return Object.assign(l,t),l},i=e=>e?n(e):n},6225:(e,t,l)=>{"use strict";l.d(t,{E:()=>a});var s=l(5155);function a(e){let{bars:t,width:l=720,height:a=140}=e;if(!t.length)return(0,s.jsx)("div",{className:"empty",style:{height:a,display:"grid",placeItems:"center"},children:(0,s.jsx)("div",{children:(0,s.jsx)("h4",{children:"No data yet"})})});let n=l-36-12,i=a-10-22,r=1.15*Math.max(...t.map(e=>e.value))||1,o=n/t.length*.62,c=n/t.length-o;return(0,s.jsxs)("svg",{width:l,height:a,style:{display:"block",maxWidth:"100%"},children:[[0,.25,.5,.75,1].map((e,t)=>(0,s.jsx)("line",{x1:36,x2:l-12,y1:10+i-e*i,y2:10+i-e*i,stroke:"var(--line-1)",strokeDasharray:"2 3"},t)),t.map((e,t)=>{let l=e.value/r*i,n=36+t*(o+c)+c/2;return(0,s.jsxs)("g",{children:[(0,s.jsx)("rect",{x:n,y:10+i-l,width:o,height:l,rx:"2",fill:e.color||"var(--accent)",opacity:"0.85"}),(0,s.jsx)("text",{x:n+o/2,y:a-6,textAnchor:"middle",fontSize:"9",fontFamily:"var(--font-mono), monospace",fill:"var(--fg-3)",children:e.label})]},t)})]})}},6845:(e,t,l)=>{"use strict";l.d(t,{t:()=>n});var s=l(5155),a=l(1044);function n(e){let{icon:t,variant:l,size:n,className:i="",children:r,...o}=e,c=["btn"];return l&&c.push(l),n&&c.push(n),i&&c.push(i),(0,s.jsxs)("button",{className:c.join(" "),...o,children:[t&&(0,s.jsx)(a.I,{name:t}),r]})}},6970:(e,t,l)=>{"use strict";l.d(t,{y:()=>a});var s=l(5155);function a(e){let{value:t,max:l=100,tone:a="",className:n=""}=e,i=Math.max(0,Math.min(100,t/l*100));return(0,s.jsx)("div",{className:"bar ".concat(a," ").concat(n).trim(),children:(0,s.jsx)("span",{style:{width:"".concat(i,"%")}})})}},7e3:(e,t,l)=>{"use strict";function s(e){return e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function a(e){if(!e||e<=0)return"—";let t=Math.floor(e/1e3),l=Math.floor(t/60),s=Math.floor(l/60);return s>0?s+"h "+l%60+"m":l>0?l+"m "+t%60+"s":t+"s"}function n(e){if(!e)return"—";try{let t=new Date(e);return t.toLocaleDateString()+" "+t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch(t){return e}}l.d(t,{Y0:()=>a,aT:()=>s,r6:()=>n})},9503:(e,t,l)=>{"use strict";l.d(t,{h:()=>n});var s=l(5155);function a(e){let{data:t,width:l=60,height:a=22,tone:n=""}=e;if(!t.length)return null;let i=Math.min(...t),r=Math.max(...t)-i||1,o=t.map((e,s)=>{let n=1===t.length?0:s/(t.length-1)*l,o=a-(e-i)/r*a;return"".concat(n.toFixed(1),",").concat(o.toFixed(1))}).join(" ");return(0,s.jsx)("svg",{width:l,height:a,className:"spark",children:(0,s.jsx)("polyline",{points:o,fill:"none",stroke:"accent"===n?"var(--accent)":"red"===n?"var(--red)":"var(--fg-2)",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function n(e){let{label:t,value:l,delta:n,deltaTone:i="",spark:r,sparkTone:o,live:c,className:d="",style:h}=e;return(0,s.jsxs)("div",{className:"kpi ".concat(d).trim(),style:h,children:[(0,s.jsx)("div",{className:"label",children:t}),(0,s.jsx)("div",{className:"value mono ".concat(c?"live-num":"").trim(),children:l}),n&&(0,s.jsx)("div",{className:"delta ".concat(i).trim(),children:n}),r&&(0,s.jsx)("div",{className:"spark",children:(0,s.jsx)(a,{data:r,tone:o})})]})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=1392)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[488],{314:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m});var l=s(5155),a=s(3928),n=s(3742),i=s(9503),r=s(7125),c=s(6970),h=s(6845),d=s(7e3);function o(e){let t=e.estimatedTokensWasted;return t>=1e4?"high":t>=2e3?"med":"low"}function u(){var e;let t=(0,a.f)(e=>e.wasteFlags),s=t.reduce((e,t)=>e+t.estimatedTokensWasted,0),u=t.reduce((e,t)=>{let s=o(t);return e[s]+=1,e},{high:0,med:0,low:0});return(0,l.jsxs)("div",{className:"page",children:[(0,l.jsxs)("div",{className:"page-head",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"page-title",children:"Waste detection"}),(0,l.jsx)("p",{className:"page-sub",children:"Token waste patterns — redundancies, oversized scans, stale caches"})]}),(0,l.jsx)("div",{className:"page-actions",children:(0,l.jsx)(h.t,{icon:"refresh",disabled:!0,title:"Detection runs on the daemon's waste-detect cron",children:"Re-scan"})})]}),(0,l.jsxs)("div",{className:"grid g-4",style:{marginBottom:14},children:[(0,l.jsx)(i.h,{label:"Wasted (tok)",value:(0,d.aT)(s)}),(0,l.jsx)(i.h,{label:"Patterns",value:t.length,delta:"".concat(u.high," high \xb7 ").concat(u.med," med \xb7 ").concat(u.low," low")}),(0,l.jsx)(i.h,{label:"Est. $ lost",value:"$".concat((s/1e6*3).toFixed(2)),delta:"@ $3 / Mtok"}),(0,l.jsx)(i.h,{label:"Last scan",value:t[0]&&null!=(e=(0,d.r6)(t[0].detectedAt).split(" ")[1])?e:"—"})]}),(0,l.jsx)(n.Z,{title:"Detected patterns",sub:"sorted by impact",flush:!0,children:0===t.length?(0,l.jsxs)("div",{className:"empty",children:[(0,l.jsx)("h4",{children:"No waste patterns detected"}),(0,l.jsx)("span",{children:"waste-detect cron will populate this when patterns emerge."})]}):(0,l.jsxs)("table",{className:"tbl",children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:"Severity"}),(0,l.jsx)("th",{children:"Pattern"}),(0,l.jsx)("th",{children:"Description"}),(0,l.jsx)("th",{className:"right",children:"Loss (tok)"}),(0,l.jsx)("th",{className:"right",children:"Impact"}),(0,l.jsx)("th",{})]})}),(0,l.jsx)("tbody",{children:[...t].sort((e,t)=>t.estimatedTokensWasted-e.estimatedTokensWasted).map((e,t)=>{let a=o(e);return(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsx)(r.v,{tone:"high"===a?"red":"med"===a?"amber":"",children:a})}),(0,l.jsx)("td",{className:"mono",style:{fontSize:11},children:e.pattern.replaceAll("-"," ")}),(0,l.jsx)("td",{children:e.description}),(0,l.jsx)("td",{className:"right num strong",children:(0,d.aT)(e.estimatedTokensWasted)}),(0,l.jsx)("td",{className:"right",style:{width:160},children:(0,l.jsx)(c.y,{value:e.estimatedTokensWasted,max:Math.max(s||1,e.estimatedTokensWasted),tone:"high"===a?"red":"med"===a?"amber":""})}),(0,l.jsx)("td",{className:"right",children:(0,l.jsx)(h.t,{size:"sm",variant:"ghost",title:e.suggestion,children:"Suggestion"})})]},"".concat(e.pattern,"-").concat(t))})})]})})]})}function m(){return(0,l.jsx)(u,{})}},1044:(e,t,s)=>{"use strict";s.d(t,{I:()=>n});var l=s(5155);let a={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function n(e){let{name:t,size:s=14,stroke:n=1.7,className:i=""}=e,r=a[t];return r?(0,l.jsx)("svg",{className:"icn ".concat(i).trim(),width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round",children:(0,l.jsx)("path",{d:r})}):null}},3742:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var l=s(5155);function a(e){let{title:t,sub:s,tools:a,flush:n,className:i="",style:r,children:c}=e,h=null!=t||null!=a;return(0,l.jsxs)("div",{className:"card ".concat(i).trim(),style:r,children:[h&&(0,l.jsxs)("div",{className:"card-head",children:[null!=t&&("string"==typeof t?(0,l.jsx)("h3",{children:t}):t),null!=s&&(0,l.jsx)("span",{className:"sub",children:s}),null!=a&&(0,l.jsx)("div",{className:"tools",children:a})]}),(0,l.jsx)("div",{className:"card-body ".concat(n?"flush":"").trim(),children:c})]})}},3928:(e,t,s)=>{"use strict";s.d(t,{f:()=>l});let l=(0,s(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:t=>e({connected:t}),setProjects:(t,s)=>e({projects:t,activeProjectId:s}),setActiveProject:t=>e({activeProjectId:t,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:t=>e({overview:t}),setLedger:t=>{var s;return e({ledger:t,wasteFlags:null!=(s=t.wasteFlags)?s:[]})},setCompression:t=>e({compression:t}),setFileIndex:t=>e({fileIndex:t}),setScheduler:(t,s,l)=>e({tasks:t,taskDefinitions:s,deadLetters:l}),setHealth:t=>e({health:t}),setLearningMemory:t=>e({learningMemory:t}),setActionLog:t=>e({actionLog:t}),setBugs:t=>e({bugs:t}),setWasteFlags:t=>e({wasteFlags:t}),setDesignImages:t=>e({designImages:t}),setConfig:t=>e({config:t}),setSync:t=>e({sync:t}),setChannel:t=>e({channel:t}),setWiki:t=>e({wiki:t}),setWikiNote:t=>e({wikiNote:t})}))},5959:(e,t,s)=>{"use strict";s.d(t,{v:()=>i});var l=s(2115);let a=e=>{let t,s=new Set,l=(e,l)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=l?l:"object"!=typeof a||null===a)?a:Object.assign({},t,a),s.forEach(s=>s(t,e))}},a=()=>t,n={setState:l,getState:a,getInitialState:()=>i,subscribe:e=>(s.add(e),()=>s.delete(e))},i=t=e(l,a,n);return n},n=e=>{let t=(e=>e?a(e):a)(e),s=e=>(function(e,t=e=>e){let s=l.useSyncExternalStore(e.subscribe,l.useCallback(()=>t(e.getState()),[e,t]),l.useCallback(()=>t(e.getInitialState()),[e,t]));return l.useDebugValue(s),s})(t,e);return Object.assign(s,t),s},i=e=>e?n(e):n},6845:(e,t,s)=>{"use strict";s.d(t,{t:()=>n});var l=s(5155),a=s(1044);function n(e){let{icon:t,variant:s,size:n,className:i="",children:r,...c}=e,h=["btn"];return s&&h.push(s),n&&h.push(n),i&&h.push(i),(0,l.jsxs)("button",{className:h.join(" "),...c,children:[t&&(0,l.jsx)(a.I,{name:t}),r]})}},6970:(e,t,s)=>{"use strict";s.d(t,{y:()=>a});var l=s(5155);function a(e){let{value:t,max:s=100,tone:a="",className:n=""}=e,i=Math.max(0,Math.min(100,t/s*100));return(0,l.jsx)("div",{className:"bar ".concat(a," ").concat(n).trim(),children:(0,l.jsx)("span",{style:{width:"".concat(i,"%")}})})}},7e3:(e,t,s)=>{"use strict";function l(e){return e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function a(e){if(!e||e<=0)return"—";let t=Math.floor(e/1e3),s=Math.floor(t/60),l=Math.floor(s/60);return l>0?l+"h "+s%60+"m":s>0?s+"m "+t%60+"s":t+"s"}function n(e){if(!e)return"—";try{let t=new Date(e);return t.toLocaleDateString()+" "+t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch(t){return e}}s.d(t,{Y0:()=>a,aT:()=>l,r6:()=>n})},7125:(e,t,s)=>{"use strict";s.d(t,{v:()=>a});var l=s(5155);function a(e){let{tone:t="",children:s,className:a=""}=e;return(0,l.jsx)("span",{className:"chip ".concat(t," ").concat(a).trim(),children:s})}},9503:(e,t,s)=>{"use strict";s.d(t,{h:()=>n});var l=s(5155);function a(e){let{data:t,width:s=60,height:a=22,tone:n=""}=e;if(!t.length)return null;let i=Math.min(...t),r=Math.max(...t)-i||1,c=t.map((e,l)=>{let n=1===t.length?0:l/(t.length-1)*s,c=a-(e-i)/r*a;return"".concat(n.toFixed(1),",").concat(c.toFixed(1))}).join(" ");return(0,l.jsx)("svg",{width:s,height:a,className:"spark",children:(0,l.jsx)("polyline",{points:c,fill:"none",stroke:"accent"===n?"var(--accent)":"red"===n?"var(--red)":"var(--fg-2)",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function n(e){let{label:t,value:s,delta:n,deltaTone:i="",spark:r,sparkTone:c,live:h,className:d="",style:o}=e;return(0,l.jsxs)("div",{className:"kpi ".concat(d).trim(),style:o,children:[(0,l.jsx)("div",{className:"label",children:t}),(0,l.jsx)("div",{className:"value mono ".concat(h?"live-num":"").trim(),children:s}),n&&(0,l.jsx)("div",{className:"delta ".concat(i).trim(),children:n}),r&&(0,l.jsx)("div",{className:"spark",children:(0,l.jsx)(a,{data:r,tone:c})})]})}},9757:(e,t,s)=>{Promise.resolve().then(s.bind(s,314))}},e=>{e.O(0,[441,255,358],()=>e(e.s=9757)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[386],{1044:(e,t,n)=>{"use strict";n.d(t,{I:()=>i});var a=n(5155);let s={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function i(e){let{name:t,size:n=14,stroke:i=1.7,className:l=""}=e,r=s[t];return r?(0,a.jsx)("svg",{className:"icn ".concat(l).trim(),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:i,strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:r})}):null}},2327:(e,t,n)=>{"use strict";async function a(e,t){let n=t?"".concat(e).concat(e.includes("?")?"&":"?","project=").concat(encodeURIComponent(t)):e,a=await fetch(n);if(!a.ok)throw Error("API error ".concat(a.status,": ").concat(e));return a.json()}function s(){return a("/api/projects")}function i(e){return a("/api/overview",e)}function l(e){return a("/api/token-ledger",e)}function r(e){return a("/api/compression",e)}function c(e){return a("/api/file-index",e)}function o(e){return a("/api/scheduler",e)}function d(e){return a("/api/learning-memory",e)}function h(e){return a("/api/action-log",e)}function u(e){return a("/api/bugs",e)}function m(e){return a("/api/design",e)}async function p(e){return(await fetch("/api/switch-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e})})).json()}async function f(e,t){let n=t?"?project=".concat(encodeURIComponent(t)):"";return(await fetch("/api/tasks/".concat(encodeURIComponent(e),"/run").concat(n),{method:"POST"})).json()}async function g(e,t){let n=t?"?project=".concat(encodeURIComponent(t)):"";return(await fetch("/api/dead-letter/".concat(encodeURIComponent(e),"/retry").concat(n),{method:"POST"})).json()}async function v(e){let t=e?"?project=".concat(encodeURIComponent(e)):"";return(await fetch("/api/rescan".concat(t),{method:"POST"})).json()}async function j(){return(await fetch("/api/daemon/start",{method:"POST"})).json()}async function y(){return(await fetch("/api/daemon/stop",{method:"POST"})).json()}async function M(){return(await fetch("/api/daemon/restart",{method:"POST"})).json()}function x(){return a("/api/config")}async function N(e,t){return(await fetch("/api/config/set",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,value:t})})).json()}async function w(e,t){return(await fetch("/api/config/reset",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,all:t})})).json()}function b(){return a("/api/sync")}async function k(){return(await fetch("/api/sync/pull",{method:"POST"})).json()}async function S(){return(await fetch("/api/sync/push",{method:"POST"})).json()}async function z(){return(await fetch("/api/sync/disconnect",{method:"POST"})).json()}function P(){return a("/api/channel")}async function O(){return(await fetch("/api/channel/start",{method:"POST"})).json()}async function L(){return(await fetch("/api/channel/stop",{method:"POST"})).json()}async function C(){return(await fetch("/api/channel/restart",{method:"POST"})).json()}function T(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new URLSearchParams;null!=e.limit&&t.set("limit",String(e.limit)),e.category&&t.set("category",e.category);let n=t.toString();return a("/api/wiki".concat(n?"?".concat(n):""))}function I(e){return a("/api/wiki/note?path=".concat(encodeURIComponent(e)))}function V(e){let t={"Content-Type":"application/json"};return e&&(t["X-Mink-Dedup-Key"]=e),t}async function H(e){return(await fetch("/api/wiki/notes",{method:"POST",headers:V(e.dedupKey),body:JSON.stringify({mode:e.mode,title:e.title,category:e.category,body:e.body,tags:e.tags})})).json()}async function D(e,t){return(await fetch("/api/wiki/daily",{method:"POST",headers:V(t),body:JSON.stringify({content:e})})).json()}async function W(e){return(await fetch("/api/wiki/ingest",{method:"POST",headers:V(e.dedupKey),body:JSON.stringify({sourcePath:e.sourcePath,category:e.category,tags:e.tags})})).json()}n.d(t,{$Z:()=>C,Aq:()=>z,Bf:()=>r,D:()=>T,Dz:()=>x,EP:()=>i,FW:()=>w,G1:()=>P,Gs:()=>b,Iw:()=>D,MP:()=>u,On:()=>O,P:()=>f,Vo:()=>l,WH:()=>L,Z4:()=>g,ZN:()=>I,ab:()=>M,co:()=>d,e2:()=>o,fX:()=>j,hD:()=>v,hY:()=>m,jm:()=>k,kH:()=>S,p4:()=>H,pu:()=>h,tf:()=>W,vj:()=>s,vo:()=>y,xl:()=>c,yJ:()=>N,yP:()=>p})},3191:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>m});var a=n(5155),s=n(2115),i=n(3742),l=n(7125),r=n(6845),c=n(1044),o=n(3928),d=n(2327);let h=["all","inbox","projects","areas","resources","archives"];function u(){let e=(0,o.f)(e=>e.wiki),t=(0,o.f)(e=>e.wikiNote),n=(0,o.f)(e=>e.setWikiNote),[u,m]=(0,s.useState)("all"),[p,f]=(0,s.useState)(null),[g,v]=(0,s.useState)(null);if((0,s.useEffect)(()=>{!p&&e&&e.recent.length>0&&f(e.recent[0].filePath)},[p,e]),(0,s.useEffect)(()=>{if(!p){n(null),v(null);return}v(null),(0,d.ZN)(p).then(n).catch(e=>{n(null),v(e instanceof Error?e.message:String(e))})},[p,n]),!e)return(0,a.jsx)("div",{className:"page",children:(0,a.jsx)(i.Z,{title:"Wiki",children:(0,a.jsx)("div",{className:"empty",children:(0,a.jsx)("h4",{children:"Loading…"})})})});if(!e.initialized)return(0,a.jsxs)("div",{className:"page",children:[(0,a.jsx)("div",{className:"page-head",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"page-title",children:"Vault"}),(0,a.jsx)("p",{className:"page-sub",children:e.vaultPath})]})}),(0,a.jsx)(i.Z,{title:"Wiki not initialized",children:(0,a.jsxs)("div",{className:"vstack",style:{padding:"12px 0"},children:[(0,a.jsx)("p",{className:"muted",style:{fontSize:12},children:"Initialize the vault from the CLI:"}),(0,a.jsx)("pre",{className:"mono inset",style:{padding:"10px 12px",fontSize:12},children:"mink wiki init"})]})})]});let j="all"===u?e.recent:e.recent.filter(e=>e.category===u);return(0,a.jsxs)("div",{className:"page",children:[(0,a.jsxs)("div",{className:"page-head",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"page-title",children:"Vault"}),(0,a.jsxs)("p",{className:"page-sub",children:[e.totalNotes," notes \xb7 inbox ",e.inboxCount," \xb7 ",e.vaultPath]})]}),(0,a.jsx)("div",{className:"page-actions",children:(0,a.jsx)(r.t,{icon:"plus",variant:"primary",disabled:!0,title:"Capture panel handles writes (PR 6)",children:"New note"})})]}),(0,a.jsxs)("div",{className:"grid",style:{gridTemplateColumns:"220px 1fr 380px",gap:14},children:[(0,a.jsx)(i.Z,{title:"Tree",flush:!0,children:(0,a.jsx)("div",{className:"tree",style:{padding:8,maxHeight:520,overflowY:"auto"},children:0===e.tree.length?(0,a.jsx)("div",{className:"muted",style:{fontSize:11,padding:6},children:"Vault is empty."}):e.tree.map(e=>(0,a.jsxs)("div",{className:"tree-row dir",style:{paddingLeft:10+14*e.depth},children:[(0,a.jsx)(c.I,{name:"folder",size:11}),(0,a.jsx)("span",{className:"fn",children:e.name}),(0,a.jsx)("span",{className:"meta",children:e.count})]},e.path))})}),(0,a.jsx)(i.Z,{title:(0,a.jsxs)("div",{className:"row",style:{flex:1},children:[(0,a.jsx)("span",{children:"Notes"}),(0,a.jsx)("div",{className:"seg",style:{marginLeft:10},children:h.map(e=>(0,a.jsx)("button",{type:"button",className:u===e?"on":"",onClick:()=>m(e),children:e},e))})]}),flush:!0,children:0===j.length?(0,a.jsx)("div",{className:"empty",children:(0,a.jsx)("h4",{children:"No notes"})}):(0,a.jsxs)("table",{className:"tbl",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{children:"Title"}),(0,a.jsx)("th",{children:"Tags"}),(0,a.jsx)("th",{children:"Category"}),(0,a.jsx)("th",{className:"right",children:"When"})]})}),(0,a.jsx)("tbody",{children:j.map(e=>(0,a.jsxs)("tr",{onClick:()=>f(e.filePath),style:{cursor:"pointer",background:p===e.filePath?"var(--bg-2)":void 0},children:[(0,a.jsxs)("td",{children:[(0,a.jsx)("div",{className:"strong",children:e.title}),(0,a.jsx)("div",{className:"mono muted",style:{fontSize:10},children:e.filePath})]}),(0,a.jsx)("td",{children:(0,a.jsx)("div",{className:"row tight",children:e.tags.map(e=>(0,a.jsxs)(l.v,{children:["#",e]},e))})}),(0,a.jsx)("td",{children:(0,a.jsx)(l.v,{tone:"inbox"===e.category?"amber":"projects"===e.category?"accent":"",children:e.category})}),(0,a.jsx)("td",{className:"right mono muted",children:function(e){if(!e)return"—";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{hour:"2-digit",minute:"2-digit",day:"2-digit",month:"short"})}(e.lastModified)})]},e.filePath))})]})}),(0,a.jsxs)(i.Z,{title:t?t.frontmatter.title||t.path:"Select a note",sub:null==t?void 0:t.path,tools:(0,a.jsx)("div",{className:"row tight",children:(0,a.jsx)(r.t,{size:"sm",variant:"ghost",icon:"copy",disabled:!0,children:"Copy link"})}),children:[g&&(0,a.jsx)("div",{style:{color:"var(--danger, #c33)",fontSize:11},children:g}),!t&&!g&&(0,a.jsx)("div",{className:"muted",style:{fontSize:11},children:"No note selected."}),t&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"inset",style:{fontFamily:"var(--font-inter)",fontSize:12,lineHeight:1.55,maxHeight:360,overflowY:"auto"},children:[Object.keys(t.frontmatter).length>0&&(0,a.jsxs)("div",{className:"muted mono",style:{fontSize:10.5,marginBottom:8},children:["---",Object.entries(t.frontmatter).map(e=>{let[t,n]=e;return(0,a.jsxs)("div",{children:[t,": ",Array.isArray(n)?"[".concat(n.join(", "),"]"):String(n)]},t)}),"---"]}),(0,a.jsx)("div",{style:{color:"var(--fg-1)",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:t.body})]}),(0,a.jsx)("div",{className:"divider"}),(0,a.jsxs)("div",{className:"muted",style:{fontSize:10,textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:600,marginBottom:6},children:["Backlinks (",t.backlinks.length,")"]}),(0,a.jsx)("div",{className:"vstack",style:{gap:4},children:0===t.backlinks.length?(0,a.jsx)("div",{className:"muted",style:{fontSize:11},children:"No backlinks yet."}):t.backlinks.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>f(e.path),className:"mono",style:{background:"transparent",border:0,color:"var(--accent)",cursor:"pointer",fontSize:11,textAlign:"left",padding:0},children:[e.title," ",(0,a.jsxs)("span",{className:"muted",children:["(",e.path,")"]})]},e.path))})]})]})]})]})}function m(){return(0,a.jsx)(u,{})}},3742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var a=n(5155);function s(e){let{title:t,sub:n,tools:s,flush:i,className:l="",style:r,children:c}=e,o=null!=t||null!=s;return(0,a.jsxs)("div",{className:"card ".concat(l).trim(),style:r,children:[o&&(0,a.jsxs)("div",{className:"card-head",children:[null!=t&&("string"==typeof t?(0,a.jsx)("h3",{children:t}):t),null!=n&&(0,a.jsx)("span",{className:"sub",children:n}),null!=s&&(0,a.jsx)("div",{className:"tools",children:s})]}),(0,a.jsx)("div",{className:"card-body ".concat(i?"flush":"").trim(),children:c})]})}},3928:(e,t,n)=>{"use strict";n.d(t,{f:()=>a});let a=(0,n(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:t=>e({connected:t}),setProjects:(t,n)=>e({projects:t,activeProjectId:n}),setActiveProject:t=>e({activeProjectId:t,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:t=>e({overview:t}),setLedger:t=>{var n;return e({ledger:t,wasteFlags:null!=(n=t.wasteFlags)?n:[]})},setCompression:t=>e({compression:t}),setFileIndex:t=>e({fileIndex:t}),setScheduler:(t,n,a)=>e({tasks:t,taskDefinitions:n,deadLetters:a}),setHealth:t=>e({health:t}),setLearningMemory:t=>e({learningMemory:t}),setActionLog:t=>e({actionLog:t}),setBugs:t=>e({bugs:t}),setWasteFlags:t=>e({wasteFlags:t}),setDesignImages:t=>e({designImages:t}),setConfig:t=>e({config:t}),setSync:t=>e({sync:t}),setChannel:t=>e({channel:t}),setWiki:t=>e({wiki:t}),setWikiNote:t=>e({wikiNote:t})}))},4581:(e,t,n)=>{Promise.resolve().then(n.bind(n,3191))},5959:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var a=n(2115);let s=e=>{let t,n=new Set,a=(e,a)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=a?a:"object"!=typeof s||null===s)?s:Object.assign({},t,s),n.forEach(n=>n(t,e))}},s=()=>t,i={setState:a,getState:s,getInitialState:()=>l,subscribe:e=>(n.add(e),()=>n.delete(e))},l=t=e(a,s,i);return i},i=e=>{let t=(e=>e?s(e):s)(e),n=e=>(function(e,t=e=>e){let n=a.useSyncExternalStore(e.subscribe,a.useCallback(()=>t(e.getState()),[e,t]),a.useCallback(()=>t(e.getInitialState()),[e,t]));return a.useDebugValue(n),n})(t,e);return Object.assign(n,t),n},l=e=>e?i(e):i},6845:(e,t,n)=>{"use strict";n.d(t,{t:()=>i});var a=n(5155),s=n(1044);function i(e){let{icon:t,variant:n,size:i,className:l="",children:r,...c}=e,o=["btn"];return n&&o.push(n),i&&o.push(i),l&&o.push(l),(0,a.jsxs)("button",{className:o.join(" "),...c,children:[t&&(0,a.jsx)(s.I,{name:t}),r]})}},7125:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});var a=n(5155);function s(e){let{tone:t="",children:n,className:s=""}=e;return(0,a.jsx)("span",{className:"chip ".concat(t," ").concat(s).trim(),children:n})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=4581)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{1044:(e,n,t)=>{"use strict";t.d(n,{I:()=>i});var s=t(5155);let a={pulse:"M2 12h4l2-7 4 14 2-7h6",activity:"M22 12h-4l-3 9L9 3l-3 9H2",layers:"M12 2l10 6-10 6L2 8l10-6zm0 10l10 6-10 6L2 18l10-6z",database:"M4 5a8 3 0 1016 0 8 3 0 10-16 0v14a8 3 0 0016 0V5",sparkles:"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM20 15l.8 2.2L23 18l-2.2.8L20 21l-.8-2.2L17 18l2.2-.8z",brain:"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",bug:"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",file:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",folder:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zm0-16v6l4 2",alert:"M12 2l11 20H1L12 2zm0 7v5m0 4v0",settings:"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",link:"M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1",git:"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",discord:"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",chev:"M9 6l6 6-6 6",chevDown:"M6 9l6 6 6-6",play:"M6 4l14 8-14 8z",pause:"M7 4h4v16H7zM13 4h4v16h-4z",stop:"M6 6h12v12H6z",plus:"M12 5v14M5 12h14",search:"M21 21l-5-5m2-6a8 8 0 11-16 0 8 8 0 0116 0z",refresh:"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",dots:"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",check:"M20 6L9 17l-5-5",x:"M6 6l12 12M6 18L18 6",download:"M12 3v13m0 0l-5-5m5 5l5-5M4 21h16",upload:"M12 21V8m0 0l-5 5m5-5l5 5M4 3h16",arrowUp:"M12 19V5m0 0l-7 7m7-7l7 7",arrowDown:"M12 5v14m0 0l-7-7m7 7l7-7",trash:"M4 7h16M10 7V4h4v3m-6 0v13h8V7",home:"M3 12l9-9 9 9M5 10v10h14V10",command:"M6 3a3 3 0 013 3v12a3 3 0 11-3-3h12a3 3 0 113 3V6a3 3 0 11-3 3H6",archive:"M3 7h18v4H3zM5 11v9h14v-9M10 14h4",terminal:"M4 5h16v14H4zM8 9l3 3-3 3M13 15h4",wand:"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",tag:"M20 13l-7 7a2 2 0 01-3 0L3 13V4h9l8 9zM7 7h.01",calendar:"M3 7h18v13H3zM3 7l0-3h18v3M8 2v4M16 2v4M3 11h18",list:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01",grid:"M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z",eye:"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zm10 3a3 3 0 100-6 3 3 0 000 6z",chart:"M3 20h18M6 16V8M11 16V4M16 16v-6M21 16v-3",book:"M4 4h12a4 4 0 014 4v12H8a4 4 0 01-4-4V4zm0 0v16",copy:"M8 5h10a2 2 0 012 2v10M4 9h10a2 2 0 012 2v10H6a2 2 0 01-2-2V9z",power:"M18 6a8 8 0 11-12 0M12 2v8",stack:"M4 6h16M4 12h16M4 18h16"};function i(e){let{name:n,size:t=14,stroke:i=1.7,className:c=""}=e,l=a[n];return l?(0,s.jsx)("svg",{className:"icn ".concat(c).trim(),width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:i,strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("path",{d:l})}):null}},1290:()=>{},2301:(e,n,t)=>{"use strict";t.d(n,{g:()=>o,h:()=>r});var s=t(2115),a=t(3928),i=t(2327);function c(e){var n;let t=[];for(let s of null!=(n=null==e?void 0:e.sessions)?n:[])for(let e of(s.content||"").split("\n")){if(!e.startsWith("|")||e.includes("---"))continue;let n=e.split("|").map(e=>e.trim()).filter(Boolean);n.length>=5&&"Time"!==n[0]&&t.push({time:n[0],action:n[1],files:n[2],outcome:n[3],tokens:n[4]})}return t}function l(e){let n=e.tasks||[],t=n.map(e=>e.state).filter(Boolean),s=n.map(e=>e.definition).filter(Boolean),i=e.deadLetterQueue||[];a.f.getState().setScheduler(t,s,i)}function o(){var e;let n=a.f.getState(),t=null!=(e=n.activeProjectId)?e:void 0;(0,i.EP)(t).then(e=>{var t,s;n.setOverview(e),(null==(t=e.daemon)?void 0:t.running)?n.setHealth({uptimeMs:null!=(s=e.daemon.uptimeMs)?s:0}):n.setHealth(null)}).catch(console.warn),(0,i.Vo)(t).then(n.setLedger).catch(console.warn),(0,i.Bf)(t).then(n.setCompression).catch(console.warn),(0,i.xl)(t).then(n.setFileIndex).catch(console.warn),(0,i.e2)(t).then(l).catch(console.warn),(0,i.co)(t).then(n.setLearningMemory).catch(console.warn),(0,i.pu)(t).then(e=>n.setActionLog(c(e))).catch(console.warn),(0,i.MP)(t).then(e=>n.setBugs(e.entries||[])).catch(console.warn),(0,i.hY)(t).then(e=>n.setDesignImages(e.images)).catch(console.warn),(0,i.Dz)().then(n.setConfig).catch(console.warn),(0,i.Gs)().then(n.setSync).catch(console.warn),(0,i.G1)().then(n.setChannel).catch(console.warn),(0,i.D)().then(n.setWiki).catch(console.warn)}function r(){let e=(0,s.useRef)(1e3),n=(0,s.useRef)(null),t=(0,s.useRef)(null);(0,s.useEffect)(()=>((function s(){t.current&&t.current.close();let r=new EventSource("/api/events");t.current=r,r.onopen=()=>{e.current=1e3,a.f.getState().setConnected(!0),(0,i.vj)().then(e=>{a.f.getState().setProjects(e.projects,e.activeProjectId),o()}).catch(e=>{console.warn("[mink] Failed to fetch projects:",e),o()})},r.onmessage=e=>{try{let n=JSON.parse(e.data);if("keepalive"===n.type)return;!function(e){var n;let t=a.f.getState(),s=e.fileId||e.type,r=null!=(n=t.activeProjectId)?n:void 0;if("project-switched"===s&&e.projectId){t.activeProjectId!==e.projectId&&(t.setActiveProject(e.projectId),o());return}switch(s){case"token-ledger":(0,i.Vo)(r).then(t.setLedger).catch(console.warn),(0,i.Bf)(r).then(t.setCompression).catch(console.warn);break;case"file-index":(0,i.xl)(r).then(t.setFileIndex).catch(console.warn);break;case"scheduler-manifest":(0,i.e2)(r).then(l).catch(console.warn);break;case"learning-memory":(0,i.co)(r).then(t.setLearningMemory).catch(console.warn);break;case"action-log":(0,i.pu)(r).then(e=>t.setActionLog(c(e))).catch(console.warn);break;case"bug-memory":(0,i.MP)(r).then(e=>t.setBugs(e.entries||[])).catch(console.warn);break;case"session":case"daemon-status":(0,i.EP)(r).then(e=>{var n,s;t.setOverview(e),(null==(n=e.daemon)?void 0:n.running)?t.setHealth({uptimeMs:null!=(s=e.daemon.uptimeMs)?s:0}):t.setHealth(null)}).catch(console.warn);break;case"design-report":(0,i.hY)(r).then(e=>t.setDesignImages(e.images)).catch(console.warn);break;case"config-changed":(0,i.Dz)().then(t.setConfig).catch(console.warn);break;case"sync-status":(0,i.Gs)().then(t.setSync).catch(console.warn);break;case"channel-status":case"channel-logs":(0,i.G1)().then(t.setChannel).catch(console.warn);break;case"vault-index":(0,i.D)().then(t.setWiki).catch(console.warn);break;default:o()}}(n)}catch(e){console.warn("[mink] SSE parse error:",e)}},r.onerror=()=>{a.f.getState().setConnected(!1),r.close(),t.current=null,n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{e.current=Math.min(2*e.current,3e4),s()},e.current)}})(),()=>{t.current&&(t.current.close(),t.current=null),n.current&&clearTimeout(n.current)}),[])}},2327:(e,n,t)=>{"use strict";async function s(e,n){let t=n?"".concat(e).concat(e.includes("?")?"&":"?","project=").concat(encodeURIComponent(n)):e,s=await fetch(t);if(!s.ok)throw Error("API error ".concat(s.status,": ").concat(e));return s.json()}function a(){return s("/api/projects")}function i(e){return s("/api/overview",e)}function c(e){return s("/api/token-ledger",e)}function l(e){return s("/api/compression",e)}function o(e){return s("/api/file-index",e)}function r(e){return s("/api/scheduler",e)}function d(e){return s("/api/learning-memory",e)}function h(e){return s("/api/action-log",e)}function u(e){return s("/api/bugs",e)}function m(e){return s("/api/design",e)}async function p(e){return(await fetch("/api/switch-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e})})).json()}async function v(e,n){let t=n?"?project=".concat(encodeURIComponent(n)):"";return(await fetch("/api/tasks/".concat(encodeURIComponent(e),"/run").concat(t),{method:"POST"})).json()}async function f(e,n){let t=n?"?project=".concat(encodeURIComponent(n)):"";return(await fetch("/api/dead-letter/".concat(encodeURIComponent(e),"/retry").concat(t),{method:"POST"})).json()}async function g(e){let n=e?"?project=".concat(encodeURIComponent(e)):"";return(await fetch("/api/rescan".concat(n),{method:"POST"})).json()}async function j(){return(await fetch("/api/daemon/start",{method:"POST"})).json()}async function x(){return(await fetch("/api/daemon/stop",{method:"POST"})).json()}async function y(){return(await fetch("/api/daemon/restart",{method:"POST"})).json()}function b(){return s("/api/config")}async function w(e,n){return(await fetch("/api/config/set",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,value:n})})).json()}async function k(e,n){return(await fetch("/api/config/reset",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,all:n})})).json()}function M(){return s("/api/sync")}async function N(){return(await fetch("/api/sync/pull",{method:"POST"})).json()}async function S(){return(await fetch("/api/sync/push",{method:"POST"})).json()}async function z(){return(await fetch("/api/sync/disconnect",{method:"POST"})).json()}function P(){return s("/api/channel")}async function I(){return(await fetch("/api/channel/start",{method:"POST"})).json()}async function C(){return(await fetch("/api/channel/stop",{method:"POST"})).json()}async function L(){return(await fetch("/api/channel/restart",{method:"POST"})).json()}function O(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=new URLSearchParams;null!=e.limit&&n.set("limit",String(e.limit)),e.category&&n.set("category",e.category);let t=n.toString();return s("/api/wiki".concat(t?"?".concat(t):""))}function T(e){return s("/api/wiki/note?path=".concat(encodeURIComponent(e)))}function D(e){let n={"Content-Type":"application/json"};return e&&(n["X-Mink-Dedup-Key"]=e),n}async function F(e){return(await fetch("/api/wiki/notes",{method:"POST",headers:D(e.dedupKey),body:JSON.stringify({mode:e.mode,title:e.title,category:e.category,body:e.body,tags:e.tags})})).json()}async function H(e,n){return(await fetch("/api/wiki/daily",{method:"POST",headers:D(n),body:JSON.stringify({content:e})})).json()}async function V(e){return(await fetch("/api/wiki/ingest",{method:"POST",headers:D(e.dedupKey),body:JSON.stringify({sourcePath:e.sourcePath,category:e.category,tags:e.tags})})).json()}t.d(n,{$Z:()=>L,Aq:()=>z,Bf:()=>l,D:()=>O,Dz:()=>b,EP:()=>i,FW:()=>k,G1:()=>P,Gs:()=>M,Iw:()=>H,MP:()=>u,On:()=>I,P:()=>v,Vo:()=>c,WH:()=>C,Z4:()=>f,ZN:()=>T,ab:()=>y,co:()=>d,e2:()=>r,fX:()=>j,hD:()=>g,hY:()=>m,jm:()=>N,kH:()=>S,p4:()=>F,pu:()=>h,tf:()=>V,vj:()=>a,vo:()=>x,xl:()=>o,yJ:()=>w,yP:()=>p})},2800:(e,n,t)=>{"use strict";t.d(n,{SSEProvider:()=>a});var s=t(2301);function a(){return(0,s.h)(),null}},3928:(e,n,t)=>{"use strict";t.d(n,{f:()=>s});let s=(0,t(5959).v)(e=>({connected:!1,projects:[],activeProjectId:null,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[],config:null,sync:null,channel:null,wiki:null,wikiNote:null,setConnected:n=>e({connected:n}),setProjects:(n,t)=>e({projects:n,activeProjectId:t}),setActiveProject:n=>e({activeProjectId:n,overview:null,ledger:null,compression:null,fileIndex:null,tasks:[],taskDefinitions:[],deadLetters:[],health:null,learningMemory:null,actionLog:[],bugs:[],wasteFlags:[],designImages:[]}),setOverview:n=>e({overview:n}),setLedger:n=>{var t;return e({ledger:n,wasteFlags:null!=(t=n.wasteFlags)?t:[]})},setCompression:n=>e({compression:n}),setFileIndex:n=>e({fileIndex:n}),setScheduler:(n,t,s)=>e({tasks:n,taskDefinitions:t,deadLetters:s}),setHealth:n=>e({health:n}),setLearningMemory:n=>e({learningMemory:n}),setActionLog:n=>e({actionLog:n}),setBugs:n=>e({bugs:n}),setWasteFlags:n=>e({wasteFlags:n}),setDesignImages:n=>e({designImages:n}),setConfig:n=>e({config:n}),setSync:n=>e({sync:n}),setChannel:n=>e({channel:n}),setWiki:n=>e({wiki:n}),setWikiNote:n=>e({wikiNote:n})}))},4658:(e,n,t)=>{Promise.resolve().then(t.t.bind(t,1290,23)),Promise.resolve().then(t.bind(t,7758)),Promise.resolve().then(t.bind(t,2800)),Promise.resolve().then(t.bind(t,5379)),Promise.resolve().then(t.t.bind(t,369,23)),Promise.resolve().then(t.t.bind(t,7770,23))},6845:(e,n,t)=>{"use strict";t.d(n,{t:()=>i});var s=t(5155),a=t(1044);function i(e){let{icon:n,variant:t,size:i,className:c="",children:l,...o}=e,r=["btn"];return t&&r.push(t),i&&r.push(i),c&&r.push(c),(0,s.jsxs)("button",{className:r.join(" "),...o,children:[n&&(0,s.jsx)(a.I,{name:n}),l]})}},7758:(e,n,t)=>{"use strict";t.d(n,{AppShell:()=>C});var s=t(5155),a=t(2115),i=t(63),c=t(5379),l=t(2619),o=t.n(l),r=t(1044),d=t(3928),h=t(2327),u=t(2301),m=t(6845);function p(e){let{onClose:n}=e,t=(0,d.f)(e=>e.projects),a=(0,d.f)(e=>e.activeProjectId),i=(0,d.f)(e=>e.setActiveProject);async function c(e){if(e===a)return void n();i(e),await (0,h.yP)(e),(0,u.g)(),n()}return(0,s.jsxs)("div",{role:"menu",onMouseLeave:n,style:{position:"fixed",top:92,left:12,width:320,zIndex:80,background:"var(--bg-1)",border:"1px solid var(--line-1)",borderRadius:10,boxShadow:"var(--shadow-pop)",overflow:"hidden"},children:[(0,s.jsxs)("div",{style:{padding:"8px 12px",borderBottom:"1px solid var(--line-1)",fontSize:10.5,textTransform:"uppercase",letterSpacing:"0.08em",color:"var(--fg-3)",fontWeight:600},children:["Projects \xb7 ",t.length]}),t.map(e=>(0,s.jsxs)("div",{role:"menuitem",onClick:()=>c(e.id),className:"row",style:{padding:"8px 12px",cursor:"pointer",background:a===e.id?"var(--bg-2)":void 0,borderBottom:"1px solid var(--line-1)"},children:[(0,s.jsx)(r.I,{name:"folder",size:12}),(0,s.jsxs)("div",{style:{flex:1,minWidth:0,marginLeft:8},children:[(0,s.jsx)("div",{style:{color:"var(--fg-0)",fontSize:12},children:e.name}),(0,s.jsx)("div",{className:"mono muted",style:{fontSize:10},children:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:36;return e.length<=n?e:"..."+e.slice(e.length-n+3)}(e.cwd)})]}),a===e.id&&(0,s.jsx)("span",{className:"dot",style:{width:6,height:6,borderRadius:3,background:"var(--accent)"}})]},e.id)),0===t.length&&(0,s.jsx)("div",{className:"empty",style:{padding:16},children:(0,s.jsx)("div",{children:"No projects registered"})}),(0,s.jsx)("div",{style:{padding:8,background:"var(--bg-2)"},children:(0,s.jsx)(m.t,{size:"sm",icon:"plus",variant:"ghost",disabled:!0,title:"Preview — run `mink init` in a repo",children:"Add project"})})]})}let v=[{group:"Overview",items:[{id:"overview",href:"/overview",label:"Overview",icon:"activity",showDot:!0},{id:"activity",href:"/activity",label:"Activity log",icon:"pulse"},{id:"tokens",href:"/tokens",label:"Token ledger",icon:"chart"},{id:"compression",href:"/compression",label:"Compression",icon:"chart"},{id:"waste",href:"/waste",label:"Waste detect",icon:"alert",countKey:"waste"}]},{group:"Knowledge",items:[{id:"files",href:"/file-index",label:"File index",icon:"file"},{id:"memory",href:"/learning",label:"Learning",icon:"brain"},{id:"bugs",href:"/bugs",label:"Bug memory",icon:"bug",countKey:"bugs"}]},{group:"Notes & Wiki",items:[{id:"wiki",href:"/wiki",label:"Vault",icon:"book"},{id:"capture",href:"/capture",label:"Capture",icon:"plus",countKey:"capture"}]},{group:"Operations",items:[{id:"scheduler",href:"/scheduler",label:"Scheduler",icon:"clock",countKey:"scheduler"},{id:"discord",href:"/discord",label:"Discord",icon:"discord"},{id:"sync",href:"/sync",label:"Sync",icon:"git"}]},{group:"System",items:[{id:"daemon",href:"/daemon",label:"Daemon",icon:"power"},{id:"config",href:"/config",label:"Configuration",icon:"settings"}]}];function f(){let e=(0,i.usePathname)(),[n,t]=(0,a.useState)(!1),c=(0,d.f)(e=>e.activeProjectId),l=(0,d.f)(e=>e.projects),h=(0,d.f)(e=>{var n,t;return null==(t=e.overview)||null==(n=t.project)?void 0:n.name}),u=(0,d.f)(e=>e.wasteFlags.length),m=(0,d.f)(e=>e.bugs.filter(e=>{var n;return!(null==(n=e.fixDescription)?void 0:n.trim())}).length),f=(0,d.f)(e=>e.deadLetters.length),g=(0,d.f)(e=>{var n,t,s;return null!=(s=null==(t=e.overview)||null==(n=t.daemon)?void 0:n.running)&&s}),j={capture:0,waste:u,bugs:m,scheduler:f},x=l.find(e=>e.id===c),y=(null==x?void 0:x.name)||h||"Mink",b=(null==x?void 0:x.id)||(null==x?void 0:x.cwd)||"";return(0,s.jsxs)("aside",{className:"sidebar",children:[(0,s.jsxs)("div",{className:"sb-head",children:[(0,s.jsx)("div",{className:"sb-logo",children:"M"}),(0,s.jsx)("div",{className:"sb-title",children:"Mink"}),(0,s.jsx)("div",{className:"sb-sub",children:"v1"})]}),(0,s.jsxs)("div",{className:"sb-project",onClick:()=>t(e=>!e),children:[(0,s.jsx)(r.I,{name:"folder",size:13}),(0,s.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,s.jsx)("div",{className:"pname",children:y}),(0,s.jsx)("div",{className:"pslug",children:b})]}),(0,s.jsx)(r.I,{name:"chevDown",size:12,className:"pchev"})]}),v.map(n=>(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"sb-group",children:n.group}),n.items.map(n=>{let t=e===n.href||"/overview"===n.href&&"/"===e,a=n.countKey?j[n.countKey]:0;return(0,s.jsxs)(o(),{href:n.href,"aria-current":t?"page":void 0,className:"sb-item ".concat(t?"active":"").trim(),children:[(0,s.jsx)(r.I,{name:n.icon,size:13}),(0,s.jsx)("span",{children:n.label}),n.showDot&&g&&(0,s.jsx)("span",{className:"dot"}),a>0&&(0,s.jsx)("span",{className:"count",children:a})]},n.id)})]},n.group)),(0,s.jsx)("div",{style:{height:20}}),n&&(0,s.jsx)(p,{onClose:()=>t(!1)})]})}var g=t(5959),j=t(9863);let x=(0,g.v)()((0,j.Zr)(e=>({accent:"green",density:"compact",liveFeel:!0,tweaksOpen:!1,setAccent:n=>e({accent:n}),setDensity:n=>e({density:n}),setLiveFeel:n=>e({liveFeel:n}),setTweaksOpen:n=>e({tweaksOpen:n})}),{name:"mink-preferences",storage:(0,j.KU)(()=>localStorage),partialize:e=>({accent:e.accent,density:e.density,liveFeel:e.liveFeel})}));function y(){var e;let n=(0,i.usePathname)(),t=(0,d.f)(e=>{var n,t,s;return null!=(s=null==(t=e.overview)||null==(n=t.daemon)?void 0:n.running)&&s}),a=x(e=>e.setTweaksOpen),c=(0,d.f)(e=>e.projects.find(n=>n.id===e.activeProjectId)),l=null!=(e=null==c?void 0:c.name)?e:"Mink",o=function(e){for(let n of v)for(let t of n.items)if(t.href===e||"/overview"===t.href&&"/"===e)return{group:n.group,label:t.label};return{group:"Overview",label:"Overview"}}(n||"/");return(0,s.jsxs)("header",{className:"topbar",children:[(0,s.jsxs)("div",{className:"tb-section",children:[(0,s.jsx)("span",{className:"muted",children:l}),(0,s.jsx)("span",{className:"sep",children:"/"}),(0,s.jsx)("span",{className:"muted",children:o.group}),(0,s.jsx)("span",{className:"sep",children:"/"}),(0,s.jsx)("span",{className:"crumb",children:o.label})]}),(0,s.jsx)("div",{className:"tb-spacer"}),(0,s.jsxs)("div",{className:"cmdk",title:"Command palette (coming soon)",children:[(0,s.jsx)(r.I,{name:"search",size:12}),(0,s.jsx)("span",{children:"Search files, notes, bugs…"}),(0,s.jsx)("kbd",{children:"⌘K"})]}),(0,s.jsxs)("span",{className:"daemon-pill",title:"Daemon ".concat(t?"online":"offline"),children:[(0,s.jsx)("span",{className:"pulse"}),(0,s.jsx)("span",{className:"mono",style:{fontSize:10.5},children:t?"daemon \xb7 online":"daemon \xb7 offline"})]}),(0,s.jsx)("button",{type:"button",className:"tb-icon-btn",title:"Refresh data",onClick:()=>location.reload(),children:(0,s.jsx)(r.I,{name:"refresh",size:13})}),(0,s.jsx)("button",{type:"button",className:"tb-icon-btn",title:"Tweaks",onClick:()=>a(!0),children:(0,s.jsx)(r.I,{name:"wand",size:13})}),(0,s.jsx)("button",{type:"button",className:"tb-icon-btn",title:"More","aria-label":"More",children:(0,s.jsx)(r.I,{name:"dots",size:14})})]})}function b(){var e,n,t,a;let i=(0,d.f)(e=>e.overview),c=(0,d.f)(e=>e.connected),l=(0,d.f)(e=>e.deadLetters.length),o=(0,d.f)(e=>e.tasks.length),r=null!=(t=null==i||null==(e=i.daemon)?void 0:e.running)&&t,h=null==i||null==(n=i.daemon)?void 0:n.pid,u=null==i?void 0:i.summary;return(0,s.jsxs)("footer",{className:"statusbar",children:[(0,s.jsxs)("span",{className:"sb-stat daemon-stat",children:[(0,s.jsx)("span",{className:"dot-mini"}),(0,s.jsx)("span",{className:"k",children:"daemon"}),(0,s.jsx)("span",{className:"v",children:r?h?"online \xb7 pid ".concat(h):"online":"offline"})]}),r&&(0,s.jsxs)(s.Fragment,{children:[u&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("span",{className:"sb-stat",children:[(0,s.jsx)("span",{className:"k",children:"sessions"}),(0,s.jsx)("span",{className:"v",children:u.totalSessions})]}),(0,s.jsxs)("span",{className:"sb-stat",children:[(0,s.jsx)("span",{className:"k",children:"reads"}),(0,s.jsx)("span",{className:"v",children:u.totalReads})]}),(0,s.jsxs)("span",{className:"sb-stat",children:[(0,s.jsx)("span",{className:"k",children:"writes"}),(0,s.jsx)("span",{className:"v",children:u.totalWrites})]}),(0,s.jsxs)("span",{className:"sb-stat",children:[(0,s.jsx)("span",{className:"k",children:"saved"}),(0,s.jsx)("span",{className:"v",children:(a=u.estimatedSavings)?a<1e3?String(a):"".concat((a/1e3).toFixed(1),"k"):"0"})]})]}),(0,s.jsx)("span",{style:{flex:1}}),(0,s.jsxs)("span",{className:"sb-stat",children:[(0,s.jsx)("span",{className:"k",children:"cron"}),(0,s.jsxs)("span",{className:"v",children:[o," tasks",l>0?" \xb7 ".concat(l," DLQ"):""]})]}),(0,s.jsxs)("span",{className:"sb-stat",children:[(0,s.jsx)("span",{className:"k",children:"sse"}),(0,s.jsx)("span",{className:"v",children:c?"connected":"reconnecting"})]})]}),!r&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{style:{flex:1}}),(0,s.jsxs)("span",{className:"sb-stat",children:[(0,s.jsx)("span",{className:"k",children:"run"}),(0,s.jsx)("span",{className:"v",children:"mink daemon start"})]})]})]})}let w={Read:{type:"read",verb:"Read"},Create:{type:"write",verb:"Create"},Edit:{type:"write",verb:"Edit"},"Session start":{type:"session",verb:"Session started"},"Session end":{type:"session",verb:"Session ended"}};function k(){let e=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:60,n=(0,d.f)(e=>e.actionLog),t=x(e=>e.liveFeel),[s,i]=(0,a.useState)(0);return(0,a.useEffect)(()=>{if(!t)return;let e=setInterval(()=>i(e=>e+1),4e3);return()=>clearInterval(e)},[t]),n.slice().reverse().slice(0,e).map((e,n)=>(function(e,n){var t,s,a;let i=null!=(s=w[e.action])?s:{type:"other",verb:e.action},c=null!=(a=null==(t=e.outcome)?void 0:t.toLowerCase())?a:"",l=c.includes("hit")||c.includes("saved")?"hit":c.includes("miss")||c.includes("blocked")?"warn":i.flavor;return{t:e.time,type:i.type,msg:i.verb,tgt:e.files||"—",meta:e.tokens&&"—"!==e.tokens?"".concat(e.tokens," tok"):e.outcome,flavor:l,id:"al-".concat(n,"-").concat(e.time,"-").concat(e.files)}})(e,n))}(24);return(0,s.jsxs)("aside",{className:"rail",children:[(0,s.jsxs)("div",{className:"rail-head",children:[(0,s.jsx)(r.I,{name:"activity",size:13}),(0,s.jsx)("h4",{children:"Live activity"}),(0,s.jsxs)("span",{className:"live",children:[(0,s.jsx)("span",{className:"d"})," streaming"]})]}),(0,s.jsxs)("div",{children:[0===e.length&&(0,s.jsxs)("div",{className:"empty",children:[(0,s.jsx)("h4",{children:"Waiting for events"}),(0,s.jsx)("span",{children:"activity will stream here as the daemon reports hook events."})]}),e.map((e,n)=>(0,s.jsxs)("div",{className:"evt ".concat(n<2?"fresh":"").trim(),children:[(0,s.jsx)("span",{className:"t",children:e.t}),(0,s.jsxs)("span",{className:"c",children:[(0,s.jsx)("b",{children:e.msg})," ",(0,s.jsx)("code",{children:e.tgt}),e.meta&&(0,s.jsx)("div",{className:"hit"===e.flavor?"hit":"muted",style:{marginTop:2,fontSize:10.5,fontFamily:"var(--font-mono), monospace"},children:e.meta})]})]},e.id))]})]})}let M=[["green","oklch(0.76 0.14 155)"],["amber","oklch(0.80 0.15 75)"],["blue","oklch(0.72 0.14 245)"],["violet","oklch(0.72 0.14 295)"]],N=[["compact","S"],["comfortable","M"],["spacious","L"]];function S(){var e;let n=x(e=>e.tweaksOpen),t=x(e=>e.setTweaksOpen),{theme:a,setTheme:i,resolvedTheme:l}=(0,c.D)(),o=null!=(e="system"===a?l:a)?e:"dark",r=x(e=>e.accent),d=x(e=>e.setAccent),h=x(e=>e.density),u=x(e=>e.setDensity),m=x(e=>e.liveFeel),p=x(e=>e.setLiveFeel);return n?(0,s.jsxs)("div",{className:"tweaks",role:"dialog","aria-label":"Tweaks",children:[(0,s.jsxs)("div",{className:"row",style:{marginBottom:6},children:[(0,s.jsx)("h4",{style:{margin:0},children:"Tweaks"}),(0,s.jsx)("button",{type:"button",className:"tb-icon-btn",style:{marginLeft:"auto"},onClick:()=>t(!1),"aria-label":"Close tweaks",children:(0,s.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:(0,s.jsx)("path",{d:"M6 6l12 12M6 18L18 6"})})})]}),(0,s.jsxs)("div",{className:"tw-row",children:[(0,s.jsx)("span",{className:"label",children:"Theme"}),(0,s.jsx)("div",{className:"seg",children:["light","dark"].map(e=>(0,s.jsx)("button",{type:"button",className:o===e?"on":"",onClick:()=>i(e),children:e},e))})]}),(0,s.jsxs)("div",{className:"tw-row",children:[(0,s.jsx)("span",{className:"label",children:"Accent"}),(0,s.jsx)("div",{className:"swatches",children:M.map(e=>{let[n,t]=e;return(0,s.jsx)("button",{type:"button",className:"sw ".concat(r===n?"on":"").trim(),style:{background:t},title:n,"aria-label":"Accent ".concat(n),onClick:()=>d(n)},n)})})]}),(0,s.jsxs)("div",{className:"tw-row",children:[(0,s.jsx)("span",{className:"label",children:"Density"}),(0,s.jsx)("div",{className:"seg",children:N.map(e=>{let[n,t]=e;return(0,s.jsx)("button",{type:"button",className:h===n?"on":"",onClick:()=>u(n),children:t},n)})})]}),(0,s.jsxs)("div",{className:"tw-row",children:[(0,s.jsx)("span",{className:"label",children:"Live indicators"}),(0,s.jsx)("button",{type:"button",role:"switch","aria-checked":m,className:"toggle ".concat(m?"on":"").trim(),onClick:()=>p(!m)})]})]}):null}let z=[{done:!0,t:"Install mink",d:"bun add -g @drewpayment/mink"},{done:!0,t:"Initialize project",d:"mink init in your repo — registers Claude Code hooks"},{done:!1,t:"Start the daemon",d:"Runs scheduled tasks and streams live events to this UI"},{done:!1,t:"Optional — set up sync",d:"Git-backed sync of ~/.mink across machines"},{done:!1,t:"Optional — Discord bot",d:"DM your bot to capture, search, summarize from anywhere"}];function P(){let[e,n]=(0,a.useState)(!1);function t(){var e;null==(e=navigator.clipboard)||e.writeText("mink daemon start").then(()=>{n(!0),setTimeout(()=>n(!1),1600)})}return(0,s.jsx)("div",{className:"onboard",children:(0,s.jsxs)("div",{className:"onboard-card",children:[(0,s.jsxs)("div",{className:"row",style:{marginBottom:12},children:[(0,s.jsx)("div",{className:"sb-logo",style:{width:28,height:28,fontSize:14},children:"M"}),(0,s.jsxs)("div",{style:{marginLeft:10},children:[(0,s.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--fg-0)"},children:"Mink"}),(0,s.jsx)("div",{className:"muted",style:{fontSize:11},children:"command center"})]}),(0,s.jsx)("span",{style:{marginLeft:"auto"},className:"chip",children:"daemon \xb7 offline"})]}),(0,s.jsx)("h2",{children:"Welcome back"}),(0,s.jsx)("p",{className:"sub",children:"The daemon isn't running. Start it to unlock the full command center — live sessions, scheduler, activity feed, and sync."}),(0,s.jsxs)("button",{type:"button",className:"cmd",onClick:t,title:"Click to copy",style:{textAlign:"left",width:"100%"},children:[(0,s.jsx)("span",{className:"prompt",children:"$"}),(0,s.jsx)("span",{children:"mink daemon start"}),(0,s.jsx)("span",{className:"copy",children:e?"copied!":"click to copy"})]}),(0,s.jsxs)("div",{className:"row tight",style:{marginBottom:14},children:[(0,s.jsx)(m.t,{variant:"primary",icon:"play",onClick:t,children:"Copy start command"}),(0,s.jsx)(m.t,{variant:"ghost",icon:"book",onClick:()=>window.open("https://github.com/drewpayment/mink","_blank"),children:"Read docs"})]}),(0,s.jsx)("div",{children:z.map((e,n)=>(0,s.jsxs)("div",{className:"onboard-step ".concat(e.done?"done":"").trim(),children:[(0,s.jsx)("div",{className:"n",children:e.done?(0,s.jsx)(r.I,{name:"check",size:11}):n+1}),(0,s.jsxs)("div",{className:"body",children:[(0,s.jsx)("div",{className:"t",children:e.t}),(0,s.jsx)("div",{className:"d",children:e.d})]})]},n))})]})})}let I=new Set(["/","/overview","/activity","/tokens","/waste","/scheduler","/daemon"]);function C(e){let{children:n}=e,t=(0,i.usePathname)(),{resolvedTheme:l}=(0,c.D)(),o=x(e=>e.accent),r=x(e=>e.density),h=x(e=>e.liveFeel),u=(0,d.f)(e=>{var n,t,s;return null!=(s=null==(t=e.overview)||null==(n=t.daemon)?void 0:n.running)&&s}),m=(0,d.f)(e=>null!=e.overview);(0,a.useEffect)(()=>{let e=document.body;e.dataset.theme="light"===l?"light":"dark",e.dataset.accent=o,e.dataset.density=r,e.dataset.live=h?"on":"off",e.dataset.daemon=u?"online":"offline"},[l,o,r,h,u]);let p=u&&I.has(null!=t?t:"/"),v=!u&&m&&("/"===t||"/overview"===t);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{id:"app-root",children:(0,s.jsxs)("div",{className:"shell ".concat(p?"with-rail":"").trim(),children:[(0,s.jsx)(f,{}),(0,s.jsx)(y,{}),(0,s.jsx)("main",{className:"main",children:v?(0,s.jsx)(P,{}):n}),p&&(0,s.jsx)(k,{}),(0,s.jsx)(b,{})]})}),(0,s.jsx)(S,{})]})}}},e=>{e.O(0,[718,157,447,441,255,358],()=>e(e.s=4658)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-500:oklch(72.3% .219 149.579);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-video{aspect-ratio:var(--aspect-video)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-48{width:calc(var(--spacing) * 48)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-0\.5{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * .5)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.p-px{padding:1px}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}@media (min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}@media (hover:hover){a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0;padding:0;overflow:hidden}button{cursor:pointer;background:0 0;border:0;padding:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}[data-theme=dark]{--bg-0:oklch(17% .005 250);--bg-1:oklch(20% .005 250);--bg-2:oklch(23.5% .005 250);--bg-3:oklch(27% .006 250);--bg-4:oklch(31% .007 250);--bg-inset:oklch(14.5% .005 250);--line-1:oklch(28% .006 250);--line-2:oklch(34% .008 250);--fg-0:oklch(97% .005 250);--fg-1:oklch(82% .005 250);--fg-2:oklch(64% .008 250);--fg-3:oklch(48% .008 250);--fg-4:oklch(36% .008 250);--red:oklch(70% .15 22);--amber:oklch(78% .15 80);--yellow:oklch(85% .14 95);--blue:oklch(72% .14 245);--violet:oklch(72% .14 295);--shadow-card:0 1px 0 0 oklch(100% 0 0/.02) inset,0 1px 2px oklch(0% 0 0/.4);--shadow-pop:0 10px 30px oklch(0% 0 0/.5),0 2px 6px oklch(0% 0 0/.3)}[data-theme=light]{--bg-0:oklch(98.5% .002 250);--bg-1:oklch(100% 0 0);--bg-2:oklch(97.5% .003 250);--bg-3:oklch(95.5% .004 250);--bg-4:oklch(93% .005 250);--bg-inset:oklch(96.5% .003 250);--line-1:oklch(91.5% .005 250);--line-2:oklch(86% .006 250);--fg-0:oklch(18% .008 250);--fg-1:oklch(32% .008 250);--fg-2:oklch(48% .008 250);--fg-3:oklch(60% .008 250);--fg-4:oklch(72% .008 250);--red:oklch(55% .18 22);--amber:oklch(65% .18 70);--yellow:oklch(72% .17 90);--blue:oklch(55% .17 245);--violet:oklch(55% .17 295);--shadow-card:0 1px 0 0 oklch(100% 0 0/.5) inset,0 1px 2px oklch(0% 0 0/.05);--shadow-pop:0 12px 32px oklch(0% 0 0/.1),0 2px 6px oklch(0% 0 0/.06)}[data-accent=green]{--accent:oklch(76% .14 155);--accent-fg:oklch(16% .05 155)}[data-accent=amber]{--accent:oklch(80% .15 75);--accent-fg:oklch(16% .05 75)}[data-accent=blue]{--accent:oklch(72% .14 245);--accent-fg:oklch(16% .05 245)}[data-accent=violet]{--accent:oklch(72% .14 295);--accent-fg:oklch(16% .05 295)}[data-theme=light][data-accent=green]{--accent:oklch(62% .15 155);--accent-fg:oklch(99% 0 0)}[data-theme=light][data-accent=amber]{--accent:oklch(68% .17 65);--accent-fg:oklch(99% 0 0)}[data-theme=light][data-accent=blue]{--accent:oklch(58% .17 245);--accent-fg:oklch(99% 0 0)}[data-theme=light][data-accent=violet]{--accent:oklch(56% .18 295);--accent-fg:oklch(99% 0 0)}[data-density=compact]{--row-h:28px;--pad-x:12px;--pad-y:8px;--fs-body:12.5px;--fs-label:10.5px;--fs-h1:18px;--fs-h2:13px;--gap:10px}[data-density=comfortable]{--row-h:34px;--pad-x:16px;--pad-y:12px;--fs-body:13.5px;--fs-label:11.5px;--fs-h1:20px;--fs-h2:14px;--gap:14px}[data-density=spacious]{--row-h:40px;--pad-x:20px;--pad-y:16px;--fs-body:14.5px;--fs-label:12px;--fs-h1:22px;--fs-h2:15px;--gap:18px}body{font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--fs-body);color:var(--fg-1);background:var(--bg-0);font-feature-settings:"cv11","ss01","ss03";letter-spacing:-.005em;-webkit-font-smoothing:antialiased;line-height:1.45}.mono{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"calt" 1,"zero" 1}#app-root{flex-direction:column;height:100vh;display:flex}.shell{flex:1;grid-template:"sidebar topbar"44px"sidebar main"1fr"sidebar statusbar"26px/220px 1fr;min-height:0;display:grid}.shell.with-rail{grid-template-columns:220px 1fr 320px;grid-template-areas:"sidebar topbar topbar""sidebar main rail""sidebar statusbar statusbar"}@media (max-width:1279px){.shell.with-rail{grid-template-columns:220px 1fr;grid-template-areas:"sidebar topbar""sidebar main""sidebar statusbar"}.shell.with-rail .rail{display:none}}.sidebar{border-right:1px solid var(--line-1);grid-area:sidebar;overflow-y:auto}.sidebar,.topbar{background:var(--bg-1)}.topbar{border-bottom:1px solid var(--line-1);grid-area:topbar;align-items:center;gap:10px;padding:0 12px;display:flex}.main{background:var(--bg-0);grid-area:main;min-width:0;overflow:auto}.rail{background:var(--bg-1);border-left:1px solid var(--line-1);grid-area:rail;overflow-y:auto}.statusbar{background:var(--bg-1);border-top:1px solid var(--line-1);font-family:var(--font-mono),monospace;color:var(--fg-3);grid-area:statusbar;gap:14px;padding:0 12px;font-size:10.5px}.sb-head,.statusbar{align-items:center;display:flex}.sb-head{gap:8px;padding:10px 12px 8px}.sb-logo{background:var(--fg-0);width:22px;height:22px;color:var(--bg-0);letter-spacing:-.04em;border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.sb-title{color:var(--fg-0);letter-spacing:-.01em;font-size:13px;font-weight:600}.sb-sub{color:var(--fg-3);font-size:10.5px;font-family:var(--font-mono),monospace;margin-left:auto}.sb-project{border:1px solid var(--line-1);background:var(--bg-2);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin:4px 8px 8px;padding:8px 10px;display:flex}.sb-project:hover{background:var(--bg-3)}.sb-project .pname{color:var(--fg-0);font-size:12px;font-weight:500}.sb-project .pslug{font-family:var(--font-mono),monospace;color:var(--fg-3);font-size:10px}.sb-project .pchev{color:var(--fg-3);margin-left:auto}.sb-group{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);padding:10px 14px 4px;font-size:10px;font-weight:600}.sb-item{height:26px;color:var(--fg-1);cursor:pointer;border-radius:6px;align-items:center;gap:9px;margin:0 6px;padding:0 10px;font-size:12.5px;display:flex;position:relative}.sb-item:hover{background:var(--bg-2);color:var(--fg-0)}.sb-item.active{background:var(--bg-3);color:var(--fg-0);font-weight:500}.sb-item .icn{width:14px;height:14px;color:var(--fg-3);flex-shrink:0}.sb-item.active .icn{color:var(--accent)}.sb-item .count{font-size:10px;font-family:var(--font-mono),monospace;color:var(--fg-3);background:var(--bg-2);border-radius:4px;margin-left:auto;padding:1px 5px}.sb-item.active .count{background:var(--bg-4);color:var(--fg-1)}.sb-item .dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:auto}.tb-section{color:var(--fg-2);align-items:center;gap:8px;font-size:12px;display:flex}.tb-section .crumb{color:var(--fg-0);font-weight:500}.tb-section .sep{color:var(--fg-4)}.tb-spacer{flex:1}.cmdk{border:1px solid var(--line-1);background:var(--bg-2);height:28px;color:var(--fg-3);border-radius:7px;align-items:center;gap:8px;min-width:280px;padding:0 10px;font-size:11.5px;display:flex}.cmdk kbd{font-family:var(--font-mono),monospace;border:1px solid var(--line-2);background:var(--bg-1);color:var(--fg-2);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.daemon-pill{border:1px solid var(--line-1);background:var(--bg-2);height:24px;color:var(--fg-1);border-radius:999px;align-items:center;gap:7px;padding:0 10px 0 8px;font-size:11px;font-weight:500;display:inline-flex}.daemon-pill .pulse{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 var(--accent);border-radius:50%;animation:pulse 2s infinite}[data-live=off] .pulse{animation:none}[data-daemon=offline] .daemon-pill .pulse{background:var(--fg-3);box-shadow:none;animation:none}[data-daemon=offline] .daemon-pill{color:var(--fg-2)}@keyframes pulse{50%{opacity:.5}}.tb-icon-btn{width:26px;height:26px;color:var(--fg-2);border:1px solid #0000;border-radius:6px;place-items:center;display:grid}.tb-icon-btn:hover{background:var(--bg-2);color:var(--fg-0);border-color:var(--line-1)}.sb-stat{align-items:center;gap:6px;display:inline-flex}.sb-stat .k{color:var(--fg-4)}.sb-stat .v{color:var(--fg-1)}.sb-stat .dot-mini{background:var(--accent);border-radius:50%;width:5px;height:5px}[data-daemon=offline] .sb-stat.daemon-stat .dot-mini{background:var(--fg-3)}.page{max-width:1400px;padding:14px 18px 24px}.page-head{border-bottom:1px solid var(--line-1);align-items:flex-end;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.page-title{font-size:var(--fs-h1);color:var(--fg-0);letter-spacing:-.015em;margin:0;font-weight:600}.page-sub{color:var(--fg-3);margin:2px 0 0;font-size:11.5px}.page-actions{gap:6px;margin-left:auto;display:flex}.card{border:1px solid var(--line-1);box-shadow:var(--shadow-card);border-radius:10px;overflow:hidden}.card,.card-head{background:var(--bg-1)}.card-head{border-bottom:1px solid var(--line-1);align-items:center;gap:10px;padding:10px 12px;display:flex}.card-head h3{font-size:var(--fs-h2);color:var(--fg-0);letter-spacing:-.005em;margin:0;font-weight:600}.card-head .sub{color:var(--fg-3);font-size:11px}.card-head .tools{gap:4px;margin-left:auto;display:flex}.card-body{padding:12px}.card-body.flush{padding:0}.grid{gap:var(--gap);display:grid}.g-2{grid-template-columns:1fr 1fr}.g-3{grid-template-columns:1fr 1fr 1fr}.g-4{grid-template-columns:repeat(4,1fr)}.btn{border:1px solid var(--line-1);background:var(--bg-2);height:26px;color:var(--fg-1);border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:500;transition:background .12s;display:inline-flex}.btn:hover{background:var(--bg-3);color:var(--fg-0)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:#0000}.btn.primary:hover{filter:brightness(1.05)}.btn.danger{color:var(--red);border-color:var(--red)}@supports (color:color-mix(in lab,red,red)){.btn.danger{border-color:color-mix(in oklch,var(--red) 30%,var(--line-1))}}.btn.ghost{background:0 0}.btn.sm{height:22px;padding:0 8px;font-size:11px}.btn .icn{width:12px;height:12px}.chip{border:1px solid var(--line-1);background:var(--bg-2);height:20px;color:var(--fg-2);font-size:10.5px;font-family:var(--font-mono),monospace;border-radius:4px;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.chip.accent{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.chip.accent{border-color:color-mix(in oklch,var(--accent) 35%,var(--line-1))}}.chip.accent{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.chip.accent{background:color-mix(in oklch,var(--accent) 8%,var(--bg-2))}}.chip.red{color:var(--red);border-color:var(--red)}@supports (color:color-mix(in lab,red,red)){.chip.red{border-color:color-mix(in oklch,var(--red) 35%,var(--line-1))}}.chip.red{background:var(--red)}@supports (color:color-mix(in lab,red,red)){.chip.red{background:color-mix(in oklch,var(--red) 8%,var(--bg-2))}}.chip.amber{color:var(--amber);border-color:var(--amber)}@supports (color:color-mix(in lab,red,red)){.chip.amber{border-color:color-mix(in oklch,var(--amber) 35%,var(--line-1))}}.chip.amber{background:var(--amber)}@supports (color:color-mix(in lab,red,red)){.chip.amber{background:color-mix(in oklch,var(--amber) 8%,var(--bg-2))}}.chip.blue{color:var(--blue);border-color:var(--blue)}@supports (color:color-mix(in lab,red,red)){.chip.blue{border-color:color-mix(in oklch,var(--blue) 35%,var(--line-1))}}.chip.blue{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.chip.blue{background:color-mix(in oklch,var(--blue) 8%,var(--bg-2))}}.chip.violet{color:var(--violet);border-color:var(--violet)}@supports (color:color-mix(in lab,red,red)){.chip.violet{border-color:color-mix(in oklch,var(--violet) 35%,var(--line-1))}}.chip.violet{background:var(--violet)}@supports (color:color-mix(in lab,red,red)){.chip.violet{background:color-mix(in oklch,var(--violet) 8%,var(--bg-2))}}.kpi{border:1px solid var(--line-1);background:var(--bg-1);border-radius:10px;flex-direction:column;gap:3px;min-height:74px;padding:12px;display:flex;position:relative}.kpi .label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.kpi .value{color:var(--fg-0);letter-spacing:-.02em;font-size:22px;font-weight:500}.kpi .delta,.kpi .value{font-family:var(--font-mono),monospace}.kpi .delta{color:var(--fg-3);font-size:10.5px}.kpi .delta.up{color:var(--accent)}.kpi .delta.down{color:var(--red)}.kpi .spark{opacity:.9;position:absolute;bottom:10px;right:10px}.tbl{border-collapse:collapse;width:100%;font-size:12px}.tbl thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);background:var(--bg-1);padding:8px 12px;font-size:10px;font-weight:500;position:sticky;top:0}.tbl tbody td,.tbl thead th{border-bottom:1px solid var(--line-1)}.tbl tbody td{color:var(--fg-1);vertical-align:middle;padding:7px 12px}.tbl tbody tr:hover td{background:var(--bg-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl .muted{color:var(--fg-3)}.tbl .mono{font-size:11px;font-family:var(--font-mono),monospace}.tbl .right{text-align:right}.tbl .num{font-family:var(--font-mono),monospace;font-variant-numeric:tabular-nums}.bar{background:var(--bg-inset);height:5px;overflow:hidden}.bar,.bar>span{border-radius:999px}.bar>span{background:var(--accent);height:100%;display:block}.bar.red>span{background:var(--red)}.bar.amber>span{background:var(--amber)}.rail-head{border-bottom:1px solid var(--line-1);align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.rail-head h4{color:var(--fg-0);margin:0;font-size:12px;font-weight:600}.rail-head .live{color:var(--fg-3);font-size:10px;font-family:var(--font-mono),monospace;align-items:center;gap:5px;margin-left:auto;display:inline-flex}.rail-head .live .d{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:pulse 2s infinite}[data-live=off] .rail-head .live .d{animation:none}.evt{border-bottom:1px solid var(--line-1);gap:10px;padding:8px 14px;font-size:11.5px;display:flex}.evt .t{font-family:var(--font-mono),monospace;color:var(--fg-3);min-width:48px;font-size:10.5px}.evt .c{color:var(--fg-1);flex:1;min-width:0}.evt .c b{color:var(--fg-0);font-weight:500}.evt .c .hit{color:var(--accent)}.evt .c .hit,.evt .c code{font-family:var(--font-mono),monospace}.evt .c code{color:var(--fg-2);background:var(--bg-inset);border-radius:3px;padding:1px 4px;font-size:10.5px}.evt.fresh{animation:fresh 1.2s ease-out}@keyframes fresh{0%{background:color-mix(in oklch,var(--accent) 15%,transparent)}to{background:0 0}}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--fg-3);letter-spacing:.02em;text-transform:uppercase;font-size:10.5px;font-weight:500}.field input,.field select,.field textarea{background:var(--bg-inset);border:1px solid var(--line-1);color:var(--fg-0);border-radius:6px;outline:none;padding:7px 9px;font-size:12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field .hint{color:var(--fg-3);font-size:10.5px}.toggle{background:var(--bg-4);cursor:pointer;border-radius:999px;flex-shrink:0;width:28px;height:16px;transition:background .15s;position:relative}.toggle:after{content:"";background:var(--fg-0);border-radius:50%;width:12px;height:12px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle.on{background:var(--accent)}.toggle.on:after{background:var(--accent-fg);left:14px}.inset{background:var(--bg-inset);border:1px solid var(--line-1);font-family:var(--font-mono),monospace;color:var(--fg-1);border-radius:8px;padding:10px 12px;font-size:11.5px}.inset .c{color:var(--fg-3)}.inset .k{color:var(--accent)}.inset .s{color:var(--amber)}.divider{background:var(--line-1);height:1px;margin:10px 0}.row{align-items:center;gap:10px;display:flex}.row.tight{gap:6px}.hstack{align-items:center}.hstack,.vstack{gap:8px;display:flex}.vstack{flex-direction:column}.muted{color:var(--fg-3)}.strong{color:var(--fg-0);font-weight:500}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-1);border:2px solid var(--bg-0);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--line-2)}.tweaks{z-index:50;background:var(--bg-1);border:1px solid var(--line-1);width:260px;box-shadow:var(--shadow-pop);border-radius:10px;padding:10px 12px;position:fixed;bottom:36px;right:16px}.tweaks h4{color:var(--fg-0);letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.tw-row{color:var(--fg-1);align-items:center;gap:8px;padding:5px 0;font-size:11.5px;display:flex}.tw-row .label{color:var(--fg-2);flex:1}.seg{border:1px solid var(--line-1);background:var(--bg-2);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{color:var(--fg-2);border-right:1px solid var(--line-1);padding:3px 7px;font-size:10.5px}.seg button:last-child{border-right:0}.seg button.on{background:var(--bg-4);color:var(--fg-0)}.swatches{gap:5px;display:inline-flex}.sw{border:1px solid var(--line-2);cursor:pointer;border-radius:50%;width:16px;height:16px}.sw.on{box-shadow:0 0 0 2px var(--bg-1),0 0 0 3px var(--fg-0)}.onboard{place-items:center;height:100%;padding:24px;display:grid}.onboard-card{background:var(--bg-1);border:1px solid var(--line-1);width:520px;max-width:100%;box-shadow:var(--shadow-pop);border-radius:14px;padding:28px 28px 22px}.onboard-card h2{color:var(--fg-0);letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:600}.onboard-card .sub{color:var(--fg-2);margin:0 0 18px;font-size:12.5px}.onboard-card .cmd{font-family:var(--font-mono),monospace;background:var(--bg-inset);border:1px solid var(--line-1);color:var(--fg-0);border-radius:8px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:12px;display:flex}.onboard-card .cmd .prompt{color:var(--fg-3)}.onboard-card .cmd .copy{color:var(--fg-3);margin-left:auto;font-size:10px}.onboard-step{border-top:1px solid var(--line-1);color:var(--fg-1);align-items:flex-start;gap:10px;padding:8px 0;font-size:12px;display:flex}.onboard-step .n{border:1px solid var(--line-2);width:20px;height:20px;color:var(--fg-3);font-size:10.5px;font-family:var(--font-mono),monospace;border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;display:grid}.onboard-step.done .n{border-color:var(--accent);color:var(--accent)}.onboard-step .body{flex:1;min-width:0}.onboard-step .body .t{color:var(--fg-0);font-weight:500}.onboard-step .body .d{color:var(--fg-3);font-size:11px;font-family:var(--font-mono),monospace}.chart-wrap{position:relative}.chart-legend{color:var(--fg-3);font-size:10.5px;font-family:var(--font-mono),monospace;gap:12px;margin-top:6px;display:flex}.chart-legend i{vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.tabs{border-bottom:1px solid var(--line-1);gap:2px;margin-bottom:12px;display:flex}.tab{color:var(--fg-3);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 10px;font-size:11.5px}.tab:hover{color:var(--fg-1)}.tab.on{color:var(--fg-0);border-bottom-color:var(--accent);font-weight:500}.empty{text-align:center;color:var(--fg-3);padding:40px 20px;font-size:12px}.empty h4{color:var(--fg-1);margin:0 0 4px;font-size:13px;font-weight:500}.tree{font-size:12px}.tree-row{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:3px 10px;display:flex}.tree-row:hover{background:var(--bg-2)}.tree-row.on{background:var(--bg-3)}.tree-row .chev{width:10px;color:var(--fg-3)}.tree-row .fn{color:var(--fg-1)}.tree-row.dir .fn{color:var(--fg-0);font-weight:500}.tree-row .meta{font-family:var(--font-mono),monospace;color:var(--fg-3);margin-left:auto;font-size:10px}.live-num{transition:color .3s}.live-num.flash{color:var(--accent)}.btn,.sb-item,.tab,.tb-icon-btn,.toggle{-webkit-user-select:none;user-select:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(e,r,t,s){return{__rewrites:{afterFiles:[{has:t,source:"/api/:path*",destination:t}],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:20,errorRate:1e-4,numBits:384,numHashes:14,bitArray:[1,1,0,r,0,e,e,e,e,e,r,e,r,r,e,e,r,e,e,e,r,r,r,e,r,r,e,e,r,r,e,r,e,e,r,e,r,r,e,e,r,e,e,e,r,r,r,e,r,r,r,e,e,e,e,r,e,e,r,r,e,e,r,r,e,r,r,r,e,r,e,r,r,e,e,e,e,e,e,r,r,r,r,r,e,r,r,r,r,r,e,r,e,e,e,r,e,r,e,e,e,e,e,r,e,r,r,e,r,r,r,r,e,r,e,r,e,r,r,r,r,e,r,e,r,r,r,r,r,e,e,e,r,e,e,r,e,e,e,e,r,e,e,r,e,r,r,e,e,e,e,e,e,e,r,r,r,e,e,r,e,r,r,e,e,r,e,r,r,e,e,r,e,r,e,r,r,e,r,e,r,r,e,r,e,r,e,r,e,r,r,r,r,e,e,r,r,r,r,r,e,r,r,r,e,r,r,r,e,e,e,r,e,r,e,e,e,e,r,r,r,r,r,e,r,r,r,r,e,e,r,r,r,e,e,e,r,e,e,r,e,e,e,r,r,e,e,e,r,r,r,e,e,r,e,e,r,e,e,e,r,e,e,r,r,r,r,e,e,e,r,r,r,r,r,e,e,e,r,r,r,r,e,e,e,r,e,e,r,r,e,r,r,e,e,r,e,r,r,r,r,r,e,e,e,r,e,r,e,e,r,e,r,e,r,e,e,e,e,r,e,e,e,e,r,e,r,e,r,e,e,r,e,e,r,e,e,r,r,e,r,e,r,r,r,e,e,r,e,e,e,e,e,e,e,e,r,e,e,r,r,e,r,e,r,e,e,e,r,e,r,r,e,r,e,e,r,r,e,r,r,r,r,r]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:e,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-cb2a52f75f2162e2.js"],sortedPages:["/_app","/_error"]}}(0,1,void 0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|