ocean-brain 0.2.1 → 0.3.0
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/dist/index.js +73 -41
- package/dist/mcp.js +587 -26
- package/package.json +6 -1
- package/scripts/postinstall-prisma.mjs +41 -0
- package/server/client/dist/assets/Calendar-DRv2aEl8.js +28 -0
- package/server/client/dist/assets/Callout-B2kPcDrq.js +1 -0
- package/server/client/dist/assets/Graph-DotbTrZR.js +1 -0
- package/server/client/dist/assets/Image-B5R7gF2P.js +1 -0
- package/server/client/dist/assets/Image.es-Dld9r9MJ.js +1 -0
- package/server/client/dist/assets/ModalActionRow-CES9L_Gy.js +1 -0
- package/server/client/dist/assets/Note-SK4hDhEM.css +1 -0
- package/server/client/dist/assets/Note-cIbXJc1v.js +1 -0
- package/server/client/dist/assets/Reminders-4LunlZRb.js +1 -0
- package/server/client/dist/assets/Search-Cp17DGR6.js +1 -0
- package/server/client/dist/assets/SurfaceCard-yzVU4Qkx.js +1 -0
- package/server/client/dist/assets/Tag-CwmuMPmo.js +1 -0
- package/server/client/dist/assets/TagNotes-gGroWMtT.js +1 -0
- package/server/client/dist/assets/Trash.es-B3KWD8_C.js +1 -0
- package/server/client/dist/assets/color-wpu7wT_s.js +1 -0
- package/server/client/dist/assets/graph-vendor-CUxe67Lr.js +46 -0
- package/server/client/dist/assets/image.api-DJgOBt8S.js +17 -0
- package/server/client/dist/assets/index-40Y2UsVr.js +205 -0
- package/server/client/dist/assets/index-BnxpTwtL.css +1 -0
- package/server/client/dist/assets/index-DYUg2N-6.js +1 -0
- package/server/client/dist/assets/manage-image-ByY1mRZx.js +1 -0
- package/server/client/dist/assets/manage-image-detail-BVaDZHRu.js +1 -0
- package/server/client/dist/assets/mcp-Jj3061aI.js +1 -0
- package/server/client/dist/assets/{note-core-DTIu0anW.js → note-core-BCgMq5QA.js} +7 -7
- package/server/client/dist/assets/note-vendor-BofYbzmZ.js +54 -0
- package/server/client/dist/assets/placeholder-4P_GK7fV.js +34 -0
- package/server/client/dist/assets/trash-CPBwY07S.js +1 -0
- package/server/client/dist/assets/useReminderMutate-1YVndM2T.js +82 -0
- package/server/client/dist/index.html +5 -4
- package/server/dist/app.js +97 -9
- package/server/dist/app.js.map +1 -1
- package/server/dist/main.js +16 -2
- package/server/dist/main.js.map +1 -1
- package/server/dist/modules/auth-guard.js +73 -0
- package/server/dist/modules/auth-guard.js.map +1 -0
- package/server/dist/modules/auth-mode.js +51 -0
- package/server/dist/modules/auth-mode.js.map +1 -0
- package/server/dist/modules/auth.js +9 -0
- package/server/dist/modules/auth.js.map +1 -1
- package/server/dist/modules/blocknote.js +7 -1
- package/server/dist/modules/blocknote.js.map +1 -1
- package/server/dist/modules/error-handler.js +41 -0
- package/server/dist/modules/error-handler.js.map +1 -0
- package/server/dist/modules/image-upload.js +114 -0
- package/server/dist/modules/image-upload.js.map +1 -0
- package/server/dist/modules/mcp-admin.js +88 -0
- package/server/dist/modules/mcp-admin.js.map +1 -0
- package/server/dist/modules/mcp-auth.js +71 -0
- package/server/dist/modules/mcp-auth.js.map +1 -0
- package/server/dist/modules/mcp-token.js +28 -0
- package/server/dist/modules/mcp-token.js.map +1 -0
- package/server/dist/modules/note-authoring.js +140 -0
- package/server/dist/modules/note-authoring.js.map +1 -0
- package/server/dist/modules/note-cleanup.js +207 -0
- package/server/dist/modules/note-cleanup.js.map +1 -0
- package/server/dist/modules/note-snapshot.js +223 -0
- package/server/dist/modules/note-snapshot.js.map +1 -0
- package/server/dist/modules/note-trash.js +262 -0
- package/server/dist/modules/note-trash.js.map +1 -0
- package/server/dist/modules/prisma-runtime.js +46 -0
- package/server/dist/modules/prisma-runtime.js.map +1 -0
- package/server/dist/modules/recovery-retention.js +26 -0
- package/server/dist/modules/recovery-retention.js.map +1 -0
- package/server/dist/modules/remote-image.js +176 -0
- package/server/dist/modules/remote-image.js.map +1 -0
- package/server/dist/modules/tag-organization.js +66 -0
- package/server/dist/modules/tag-organization.js.map +1 -0
- package/server/dist/modules/use-async.js +2 -4
- package/server/dist/modules/use-async.js.map +1 -1
- package/server/dist/schema/note/index.js +150 -6
- package/server/dist/schema/note/index.js.map +1 -1
- package/server/dist/start.js +11 -0
- package/server/dist/start.js.map +1 -0
- package/server/dist/types/index.js.map +1 -1
- package/server/dist/urls.js +3 -2
- package/server/dist/urls.js.map +1 -1
- package/server/dist/views/auth.js +305 -0
- package/server/dist/views/auth.js.map +1 -0
- package/server/dist/views/image.js +24 -81
- package/server/dist/views/image.js.map +1 -1
- package/server/dist/views/index.js +4 -0
- package/server/dist/views/index.js.map +1 -1
- package/server/dist/views/mcp-admin.js +42 -0
- package/server/dist/views/mcp-admin.js.map +1 -0
- package/server/dist/views/note.js +124 -0
- package/server/dist/views/note.js.map +1 -0
- package/server/dist/views/tag.js +23 -0
- package/server/dist/views/tag.js.map +1 -0
- package/server/prisma/migrations/20260331183000_0010_note_snapshot/migration.sql +13 -0
- package/server/prisma/migrations/20260331195000_0011_note_trash_entities/migration.sql +35 -0
- package/server/prisma/migrations/20260331213000_0012_image_hash_unique/migration.sql +49 -0
- package/server/prisma/migrations/20260404000000_0013_mcp_admin_control/migration.sql +9 -0
- package/server/prisma/schema.prisma +66 -1
- package/server/client/dist/assets/index-BJgBFWwL.css +0 -1
- package/server/client/dist/assets/index-DvNRv9YC.js +0 -391
- package/server/client/dist/assets/note-vendor-CUVHa9LU.js +0 -54
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./note-vendor-BofYbzmZ.js";import{p as n,j as i,P as d,L as m,a6 as Z,a1 as A,a7 as h,a8 as g,a9 as x}from"./index-40Y2UsVr.js";import{a}from"./graph-vendor-CUxe67Lr.js";import{c as p,n as M}from"./Trash.es-B3KWD8_C.js";import{I as E}from"./Image.es-Dld9r9MJ.js";import"./note-core-BCgMq5QA.js";const f=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M236.37,139.4a12,12,0,0,0-12-3A84.07,84.07,0,0,1,119.6,31.59a12,12,0,0,0-15-15A108.86,108.86,0,0,0,49.69,55.07,108,108,0,0,0,136,228a107.09,107.09,0,0,0,64.93-21.69,108.86,108.86,0,0,0,38.44-54.94A12,12,0,0,0,236.37,139.4Zm-49.88,47.74A84,84,0,0,1,68.86,69.51,84.93,84.93,0,0,1,92.27,48.29Q92,52.13,92,56A108.12,108.12,0,0,0,200,164q3.87,0,7.71-.27A84.79,84.79,0,0,1,186.49,187.14Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M227.89,147.89A96,96,0,1,1,108.11,28.11,96.09,96.09,0,0,0,227.89,147.89Z",opacity:"0.2"}),a.createElement("path",{d:"M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M235.54,150.21a104.84,104.84,0,0,1-37,52.91A104,104,0,0,1,32,120,103.09,103.09,0,0,1,52.88,57.48a104.84,104.84,0,0,1,52.91-37,8,8,0,0,1,10,10,88.08,88.08,0,0,0,109.8,109.8,8,8,0,0,1,10,10Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M232.13,143.64a6,6,0,0,0-6-1.49A90.07,90.07,0,0,1,113.86,29.85a6,6,0,0,0-7.49-7.48A102.88,102.88,0,0,0,54.48,58.68,102,102,0,0,0,197.32,201.52a102.88,102.88,0,0,0,36.31-51.89A6,6,0,0,0,232.13,143.64Zm-42,48.29a90,90,0,0,1-126-126A90.9,90.9,0,0,1,99.65,37.66,102.06,102.06,0,0,0,218.34,156.35,90.9,90.9,0,0,1,190.1,191.93Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M230.72,145.06a4,4,0,0,0-4-1A92.08,92.08,0,0,1,111.94,29.27a4,4,0,0,0-5-5A100.78,100.78,0,0,0,56.08,59.88a100,100,0,0,0,140,140,100.78,100.78,0,0,0,35.59-50.87A4,4,0,0,0,230.72,145.06ZM191.3,193.53A92,92,0,0,1,62.47,64.7a93,93,0,0,1,39.88-30.35,100.09,100.09,0,0,0,119.3,119.3A93,93,0,0,1,191.3,193.53Z"}))]]),u=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M116,36V20a12,12,0,0,1,24,0V36a12,12,0,0,1-24,0Zm80,92a68,68,0,1,1-68-68A68.07,68.07,0,0,1,196,128Zm-24,0a44,44,0,1,0-44,44A44.05,44.05,0,0,0,172,128ZM51.51,68.49a12,12,0,1,0,17-17l-12-12a12,12,0,0,0-17,17Zm0,119-12,12a12,12,0,0,0,17,17l12-12a12,12,0,1,0-17-17ZM196,72a12,12,0,0,0,8.49-3.51l12-12a12,12,0,0,0-17-17l-12,12A12,12,0,0,0,196,72Zm8.49,115.51a12,12,0,0,0-17,17l12,12a12,12,0,0,0,17-17ZM48,128a12,12,0,0,0-12-12H20a12,12,0,0,0,0,24H36A12,12,0,0,0,48,128Zm80,80a12,12,0,0,0-12,12v16a12,12,0,0,0,24,0V220A12,12,0,0,0,128,208Zm108-92H220a12,12,0,0,0,0,24h16a12,12,0,0,0,0-24Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z",opacity:"0.2"}),a.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm8,24a64,64,0,1,0,64,64A64.07,64.07,0,0,0,128,64ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M122,40V16a6,6,0,0,1,12,0V40a6,6,0,0,1-12,0Zm68,88a62,62,0,1,1-62-62A62.07,62.07,0,0,1,190,128Zm-12,0a50,50,0,1,0-50,50A50.06,50.06,0,0,0,178,128ZM59.76,68.24a6,6,0,1,0,8.48-8.48l-16-16a6,6,0,0,0-8.48,8.48Zm0,119.52-16,16a6,6,0,1,0,8.48,8.48l16-16a6,6,0,1,0-8.48-8.48ZM192,70a6,6,0,0,0,4.24-1.76l16-16a6,6,0,0,0-8.48-8.48l-16,16A6,6,0,0,0,192,70Zm4.24,117.76a6,6,0,0,0-8.48,8.48l16,16a6,6,0,0,0,8.48-8.48ZM46,128a6,6,0,0,0-6-6H16a6,6,0,0,0,0,12H40A6,6,0,0,0,46,128Zm82,82a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V216A6,6,0,0,0,128,210Zm112-88H216a6,6,0,0,0,0,12h24a6,6,0,0,0,0-12Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M124,40V16a4,4,0,0,1,8,0V40a4,4,0,0,1-8,0Zm64,88a60,60,0,1,1-60-60A60.07,60.07,0,0,1,188,128Zm-8,0a52,52,0,1,0-52,52A52.06,52.06,0,0,0,180,128ZM61.17,66.83a4,4,0,0,0,5.66-5.66l-16-16a4,4,0,0,0-5.66,5.66Zm0,122.34-16,16a4,4,0,0,0,5.66,5.66l16-16a4,4,0,0,0-5.66-5.66ZM192,68a4,4,0,0,0,2.83-1.17l16-16a4,4,0,1,0-5.66-5.66l-16,16A4,4,0,0,0,192,68Zm2.83,121.17a4,4,0,0,0-5.66,5.66l16,16a4,4,0,0,0,5.66-5.66ZM40,124H16a4,4,0,0,0,0,8H40a4,4,0,0,0,0-8Zm88,88a4,4,0,0,0-4,4v24a4,4,0,0,0,8,0V216A4,4,0,0,0,128,212Zm112-88H216a4,4,0,0,0,0,8h24a4,4,0,0,0,0-8Z"}))]]),r=a.forwardRef((t,l)=>a.createElement(n,{ref:l,...t,weights:f}));r.displayName="MoonIcon";const N=r,c=a.forwardRef((t,l)=>a.createElement(n,{ref:l,...t,weights:u}));c.displayName="SunIcon";const j=c,F=()=>{const{theme:t,toggleTheme:l}=i(o=>o),s="surface-base flex flex-col items-center gap-3 p-6 text-center transition-colors hover:bg-hover-subtle";return e.jsx(d,{title:"Settings",description:"Customize your Ocean Brain experience",children:e.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",children:[e.jsxs("button",{type:"button",className:s,onClick:l,children:[e.jsx("span",{className:"text-3xl",children:t==="dark"?e.jsx(N,{className:"h-8 w-8 text-fg-secondary",weight:"fill"}):e.jsx(j,{className:"h-8 w-8 text-fg-secondary",weight:"fill"})}),e.jsx("span",{className:"font-semibold",children:"Theme"}),e.jsx("span",{className:"text-xs font-medium text-fg-tertiary",children:t==="dark"?"Dark mode":"Light mode"})]}),e.jsxs(m,{to:Z,className:s,children:[e.jsx(p,{className:"h-8 w-8 text-fg-secondary"}),e.jsx("span",{className:"font-semibold",children:"MCP"}),e.jsx("span",{className:"text-xs font-medium text-fg-tertiary",children:"Manage AI integration access"})]}),e.jsxs(m,{to:A,search:{page:1},className:s,children:[e.jsx(M,{className:"h-8 w-8 text-fg-secondary"}),e.jsx("span",{className:"font-semibold",children:"Trash"}),e.jsx("span",{className:"text-xs font-medium text-fg-tertiary",children:"Restore deleted notes"})]}),e.jsxs(m,{to:h,search:{page:1},className:s,children:[e.jsx(E,{className:"h-8 w-8 text-fg-secondary"}),e.jsx("span",{className:"font-semibold",children:"Manage Image"}),e.jsx("span",{className:"text-xs font-medium text-fg-tertiary",children:"Upload and organize images"})]}),e.jsxs(m,{to:g,search:{page:1},className:s,children:[e.jsx(x,{className:"h-8 w-8 text-fg-secondary"}),e.jsx("span",{className:"font-semibold",children:"Placeholder"}),e.jsx("span",{className:"text-xs font-medium text-fg-tertiary",children:"Manage template variables"})]})]})})};export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./note-vendor-BofYbzmZ.js";import{k as x,q as d,ae as g,A as y,v as j,H as I,P as A,Q as E,E as N,L as v,af as M,B as T,f as S,S as c,e as w,a7 as G}from"./index-40Y2UsVr.js";import"./graph-vendor-CUxe67Lr.js";import{I as _}from"./Image-B5R7gF2P.js";import{S as b}from"./SurfaceCard-yzVU4Qkx.js";import{f as C,d as P}from"./image.api-DJgOBt8S.js";import{c as R,n as k}from"./Trash.es-B3KWD8_C.js";import"./note-core-BCgMq5QA.js";const q=t=>{const{data:n}=x({queryKey:d.images.list(t.searchParams),async queryFn(){const r=await C({offset:t.searchParams.offset,limit:t.searchParams.limit});if(r.type==="error")throw r;return r.allImages}});return t.render(n)},L=240,Q=20,D=4,m=w(G),J=()=>{const t=g(),n=y(),r=m.useNavigate(),{page:o}=m.useSearch(),{containerRef:u,limit:i}=j({minItemWidth:L,gap:Q,rows:D}),f=I({mutationFn:P,onSuccess:s=>{if(s.type==="error")throw s;n.invalidateQueries({queryKey:d.images.listAll(),exact:!1})}}),h=async s=>{await t("Are you really sure?")&&f.mutate(s)};return e.jsx(A,{title:"Images",variant:"subtle",description:"Manage images uploaded to your notes",children:e.jsx("div",{ref:u,children:e.jsx(E,{fallback:e.jsxs("div",{className:"grid gap-4",style:{gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:[e.jsx(c,{height:"200px"}),e.jsx(c,{height:"200px"}),e.jsx(c,{height:"200px"})]}),errorTitle:"Failed to load images",errorDescription:"Retry loading uploaded image metadata.",resetKeys:[o,i],children:e.jsx(q,{searchParams:{offset:(o-1)*i,limit:i},render:({images:s,totalCount:l})=>s.length===0?e.jsx(N,{title:"There are no images",description:"Try drag and drop an image on the note editor."}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"grid gap-4",style:{gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:s.map(a=>e.jsxs(b,{className:"overflow-hidden p-0",children:[e.jsx(v,{to:M,params:{id:a.id},className:"block overflow-hidden",children:e.jsx(_,{className:"h-48 w-full object-cover transition-transform duration-200 hover:scale-[1.02]",src:a.url,alt:a.id})}),e.jsxs("div",{className:"flex items-center justify-between border-t border-border-subtle px-3 py-2.5",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-sm font-medium text-fg-tertiary",children:[e.jsx(R,{className:"h-3.5 w-3.5"}),a.referenceCount]}),e.jsx(T,{variant:"ghost",size:"icon-sm",disabled:a.referenceCount>0,onClick:()=>h(a.id),children:e.jsx(k,{className:"h-4 w-4"})})]})]},a.id))}),l&&i<l&&e.jsx(S,{page:o,last:Math.ceil(l/i),onChange:a=>{r({search:p=>({...p,page:a})})}})]})})})})})};export{J as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./note-vendor-BofYbzmZ.js";import{p as y,ag as b,L as f,N as C,w as E,ah as A,ae as w,z as v,A as I,u as h,q as d,ai as M,P as T,a7 as p,a as S,aj as Z,B as u,ak as _,e as D,af as F}from"./index-40Y2UsVr.js";import{I as R}from"./Image-B5R7gF2P.js";import{S as x}from"./SurfaceCard-yzVU4Qkx.js";import{a}from"./graph-vendor-CUxe67Lr.js";import{a as q,d as z}from"./image.api-DJgOBt8S.js";import{c as G,n as k}from"./Trash.es-B3KWD8_C.js";import{I as B}from"./Image.es-Dld9r9MJ.js";import"./note-core-BCgMq5QA.js";const O=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M178,36c-20.09,0-37.92,7.93-50,21.56C115.92,43.93,98.09,36,78,36a66.08,66.08,0,0,0-66,66c0,72.34,105.81,130.14,110.31,132.57a12,12,0,0,0,11.38,0C138.19,232.14,244,174.34,244,102A66.08,66.08,0,0,0,178,36Zm-5.49,142.36A328.69,328.69,0,0,1,128,210.16a328.69,328.69,0,0,1-44.51-31.8C61.82,159.77,36,131.42,36,102A42,42,0,0,1,78,60c17.8,0,32.7,9.4,38.89,24.54a12,12,0,0,0,22.22,0C145.3,69.4,160.2,60,178,60a42,42,0,0,1,42,42C220,131.42,194.18,159.77,172.51,178.36Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M232,102c0,66-104,122-104,122S24,168,24,102A54,54,0,0,1,78,48c22.59,0,41.94,12.31,50,32,8.06-19.69,27.41-32,50-32A54,54,0,0,1,232,102Z",opacity:"0.2"}),a.createElement("path",{d:"M178,40c-20.65,0-38.73,8.88-50,23.89C116.73,48.88,98.65,40,78,40a62.07,62.07,0,0,0-62,62c0,70,103.79,126.66,108.21,129a8,8,0,0,0,7.58,0C136.21,228.66,240,172,240,102A62.07,62.07,0,0,0,178,40ZM128,214.8C109.74,204.16,32,155.69,32,102A46.06,46.06,0,0,1,78,56c19.45,0,35.78,10.36,42.6,27a8,8,0,0,0,14.8,0c6.82-16.67,23.15-27,42.6-27a46.06,46.06,0,0,1,46,46C224,155.61,146.24,204.15,128,214.8Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M240,102c0,70-103.79,126.66-108.21,129a8,8,0,0,1-7.58,0C119.79,228.66,16,172,16,102A62.07,62.07,0,0,1,78,40c20.65,0,38.73,8.88,50,23.89C139.27,48.88,157.35,40,178,40A62.07,62.07,0,0,1,240,102Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M178,42c-21,0-39.26,9.47-50,25.34C117.26,51.47,99,42,78,42a60.07,60.07,0,0,0-60,60c0,29.2,18.2,59.59,54.1,90.31a334.68,334.68,0,0,0,53.06,37,6,6,0,0,0,5.68,0,334.68,334.68,0,0,0,53.06-37C219.8,161.59,238,131.2,238,102A60.07,60.07,0,0,0,178,42ZM128,217.11C111.59,207.64,30,157.72,30,102A48.05,48.05,0,0,1,78,54c20.28,0,37.31,10.83,44.45,28.27a6,6,0,0,0,11.1,0C140.69,64.83,157.72,54,178,54a48.05,48.05,0,0,1,48,48C226,157.72,144.41,207.64,128,217.11Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M178,40c-20.65,0-38.73,8.88-50,23.89C116.73,48.88,98.65,40,78,40a62.07,62.07,0,0,0-62,62c0,70,103.79,126.66,108.21,129a8,8,0,0,0,7.58,0C136.21,228.66,240,172,240,102A62.07,62.07,0,0,0,178,40ZM128,214.8C109.74,204.16,32,155.69,32,102A46.06,46.06,0,0,1,78,56c19.45,0,35.78,10.36,42.6,27a8,8,0,0,0,14.8,0c6.82-16.67,23.15-27,42.6-27a46.06,46.06,0,0,1,46,46C224,155.61,146.24,204.15,128,214.8Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M178,44c-21.44,0-39.92,10.19-50,27.07C117.92,54.19,99.44,44,78,44a58.07,58.07,0,0,0-58,58c0,28.59,18,58.47,53.4,88.79a333.81,333.81,0,0,0,52.7,36.73,4,4,0,0,0,3.8,0,333.81,333.81,0,0,0,52.7-36.73C218,160.47,236,130.59,236,102A58.07,58.07,0,0,0,178,44ZM128,219.42c-14-8-100-59.35-100-117.42A50.06,50.06,0,0,1,78,52c21.11,0,38.85,11.31,46.3,29.51a4,4,0,0,0,7.4,0C139.15,63.31,156.89,52,178,52a50.06,50.06,0,0,1,50,50C228,160,142,211.46,128,219.42Z"}))]]),j=a.forwardRef((i,c)=>a.createElement(y,{ref:c,...i,weights:O}));j.displayName="HeartIcon";const L=j;function U({id:i,title:c,tags:t,createdAt:o,updatedAt:m}){const n=new Date(Number(o)),r=b(Number(m));return e.jsx("div",{className:"border-b-2 border-dashed border-border-subtle last:border-b-0",children:e.jsxs("div",{className:"py-4 flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-fg-tertiary text-xs font-medium",children:r}),e.jsxs("span",{className:"text-fg-placeholder text-xs",children:["(",n.toDateString(),")"]})]}),e.jsx(f,{className:"font-bold text-fg-default hover:text-accent-primary transition-colors",to:C,params:{id:i},children:c||"Untitled"}),t&&t.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.map(l=>e.jsx(f,{to:E,params:{id:l.id},search:{page:1},children:e.jsx(A,{name:l.name})},l.id))})]})})}const g=D(F),Y=()=>{const i=w(),c=v(),{id:t}=g.useParams(),o=g.useNavigate(),m=I(),{data:n}=h({queryKey:d.images.detail(t??""),async queryFn(){const s=await q(t);if(s.type==="error")throw s;return s.image},enabled:!!t}),{data:r}=h({queryKey:d.images.notes(t??""),async queryFn(){const s=await M(n.url);if(s.type==="error")throw s;return s.imageNotes},enabled:!!n}),l=!r||(r?.length||0)>0,N=async()=>{if(!l&&await i("Are you really sure?")){const s=await z(t);if(s.type==="error"){c(s.errors[0].message);return}if(!s.deleteImage){c("Failed to delete image");return}o({to:p,search:{page:1}})}};return e.jsxs(T,{title:"Image Detail",variant:"none",children:[e.jsxs(f,{to:p,search:{page:1},className:"mb-4 inline-flex items-center gap-1 text-sm font-medium text-fg-secondary transition-colors hover:text-fg-default",children:[e.jsx(S,{size:16}),"Back to Images"]}),e.jsxs("div",{className:"flex flex-col gap-6 lg:flex-row",children:[n&&e.jsx("div",{className:"w-full lg:w-[400px] lg:flex-shrink-0",children:e.jsxs(x,{className:"overflow-hidden p-0",children:[e.jsx("div",{className:"flex items-center justify-center bg-muted/20 p-4",children:e.jsx(R,{className:"max-h-80 w-auto max-w-full rounded-[14px] object-contain",src:n.url})}),e.jsxs("div",{className:"flex flex-col gap-3 border-t border-border-subtle p-4",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(G,{size:14,className:"text-fg-tertiary"}),e.jsxs("span",{className:"text-sm font-medium text-fg-secondary",children:[r?.length||0," ",(r?.length||0)===1?"reference":"references"]})]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Z,{content:l?"Cannot delete while referenced by notes":"Delete this image",side:"bottom",children:e.jsxs(u,{variant:"soft-danger",size:"sm",className:"flex-1",disabled:l,onClick:N,children:[e.jsx(k,{size:16}),e.jsx("span",{children:"Delete"})]})}),e.jsxs(u,{variant:"primary",size:"sm",className:"flex-1",onClick:async()=>{await _("heroBanner",n.url),await m.invalidateQueries({queryKey:d.ui.heroBanner(),exact:!0})},children:[e.jsx(L,{size:16,className:"text-fg-secondary"}),e.jsx("span",{children:"Set hero banner"})]})]})]})]})}),e.jsx("div",{className:"flex-1 min-w-0",children:r&&r.length>0?e.jsxs(x,{className:"p-4",children:[e.jsx("p",{className:"mb-3 border-b border-border-subtle pb-2 text-sm font-semibold text-fg-default",children:"Referenced Notes"}),e.jsx("ul",{className:"flex flex-col",children:r.map(s=>e.jsx("li",{children:e.jsx(U,{...s})},s.id))})]}):e.jsxs(x,{className:"flex flex-col items-center justify-center p-6 text-center",children:[e.jsx(B,{size:28,className:"mb-2 text-fg-disabled"}),e.jsx("p",{className:"text-sm font-semibold text-fg-secondary",children:"No notes reference this image"}),e.jsx("p",{className:"mt-1 text-sm text-fg-secondary",children:"This image can be safely deleted"})]})})]})]})};export{Y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./note-vendor-BofYbzmZ.js";import{aa as r,z as C,A as M,u as N,H as o,P as w,ab as P,B as g,V as i,X as S,W as T}from"./index-40Y2UsVr.js";import{a as k}from"./graph-vendor-CUxe67Lr.js";import{C as v}from"./Callout-B2kPcDrq.js";import{S as c}from"./SurfaceCard-yzVU4Qkx.js";import"./note-core-BCgMq5QA.js";const A=async()=>{const{data:s}=await r.get("/api/mcp-admin/status");return s},F=async s=>{const{data:a}=await r.post("/api/mcp-admin/enabled",{enabled:s});return a},R=async()=>{const{data:s}=await r.post("/api/mcp-admin/token/rotate");return s},L=async()=>{const{data:s}=await r.post("/api/mcp-admin/token/revoke");return s},n=["mcp-admin","status"],q=s=>JSON.stringify({mcpServers:{"ocean-brain":{command:"npx",args:["-y","ocean-brain","mcp","--server",s,"--token-file","/path/to/token.txt"]}}},null,2),K=()=>{const s=C(),a=M(),[d,f]=k.useState(()=>window.location.origin),[l,u]=k.useState(""),{data:m,isLoading:j}=N({queryKey:n,queryFn:A}),p=o({mutationFn:F,onSuccess:t=>{a.setQueryData(n,t),s(t.enabled?"MCP access enabled.":"MCP access disabled.")}}),x=o({mutationFn:R,onSuccess:async({token:t})=>{u(t),s("A new MCP token has been issued."),await a.invalidateQueries({queryKey:n})}}),b=o({mutationFn:L,onSuccess:t=>{u(""),a.setQueryData(n,t),s("The active MCP token has been revoked.")}}),h=m?.enabled??!1,y=!j&&!p.isPending;return e.jsx(w,{title:"MCP",description:"Manage MCP access and issue a single service token",children:e.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[e.jsx(c,{className:"p-4 space-y-4",children:e.jsxs("div",{className:"mb-4 flex items-center justify-between gap-4 border-b border-border-subtle pb-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-semibold text-fg-default",children:"MCP Access"}),e.jsx("p",{className:"text-xs font-medium text-fg-tertiary",children:"Allow or block MCP requests at the server level."})]}),e.jsx("div",{className:"inline-flex items-center",children:e.jsx(P,{"aria-label":"Allow MCP access",checked:h,disabled:!y,onCheckedChange:()=>{p.mutate(!h)}})})]})}),e.jsxs(c,{className:"p-4 space-y-4",children:[e.jsxs("div",{className:"mb-4 border-b border-border-subtle pb-4",children:[e.jsx("h2",{className:"text-base font-semibold text-fg-default",children:"Token Management"}),e.jsx("p",{className:"text-xs font-medium text-fg-tertiary",children:"Ocean Brain supports one active MCP token per service."})]}),e.jsx(v,{children:"Rotating token invalidates previous token immediately."}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(g,{onClick:()=>x.mutate(void 0),isLoading:x.isPending,children:"Rotate token"}),e.jsx(g,{variant:"soft-danger",onClick:()=>b.mutate(),isLoading:b.isPending,disabled:!m?.hasActiveToken,children:"Revoke token"})]}),l&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(i,{htmlFor:"issued-mcp-token",children:"Issued Token"}),e.jsx(S,{id:"issued-mcp-token",rows:3,readOnly:!0,value:l})]})]}),e.jsxs(c,{className:"p-4 space-y-4",children:[e.jsxs("div",{className:"mb-4 border-b border-border-subtle pb-4",children:[e.jsx("h2",{className:"text-base font-semibold text-fg-default",children:"Connection Guide"}),e.jsx("p",{className:"text-xs font-medium text-fg-tertiary",children:"Default server URL uses current origin. Change it when registering a public host."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(i,{htmlFor:"mcp-server-url",children:"MCP Server URL"}),e.jsx(T,{id:"mcp-server-url",value:d,onChange:t=>f(t.target.value)})]}),e.jsxs(v,{children:["Recommended: ",e.jsx("code",{children:"--token-file"}),". For quick local tests, ",e.jsx("code",{children:"--token"})," also works."]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(i,{children:"Recommended (.mcp.json with token file)"}),e.jsx("pre",{className:"overflow-x-auto rounded-[14px] border border-border-subtle bg-surface px-4 py-3 text-xs text-fg-secondary",children:q(d)})]})]})]})})};export{K as default};
|