白
8a13e455fb
chore: 删除 .omo/ 与文件库-接口契约.md
...
.omo/ 下 12 个 run-continuation/ses_*.json 是 agent 会话续跑状态,
机器生成,本不该进版本库;文件库-开工计划.md 一并删除。
《文件库-接口契约.md》(C/D 编号)同时删除。两份文档的内容都可从 git
历史取回。
代码注释里的 C/D 编号(契约 8.1、C2、C4、D11–D19 等)因此不再有在库
文档可查,分布在 filelib 的 model / grantService / treeService /
guards、prisma schema 与迁移、以及 ADR-0028。README 原先按路径引用
这两份文档,现改为说明出处与取回方式。
2026-07-26 20:32:38 +08:00
白
cdeb29ccf2
fix(database): 补回文件库的「授权」tab 与 /me 的显示名
...
迁移时整个授权 tab 连同四个端点一起漏掉了 —— 后端一直可用,前端零调用:
GET/PUT/DELETE /nodes/:id/grants
PUT /projects/:id/independent-permission
权限编辑是这个后台的核心用途,而它此前在界面上完全不可达。
tab 组装也修正为与旧 libraryBrowser 一致:概览恒有、文件仅 PROJECT、
授权仅 MANAGE。注意文件夹也有授权 tab —— 它虽是透明组织节点,授权仍
挂在节点上(ADR-0021);此前文件夹一个 tab 都没有。
GrantsPanel 的语义按契约 8.1:创建者授权不给收回入口;MANAGE 仅创建者
可授,前端不拦,后端 fail closed 的报错原样呈现;GROUP 主体走
/groups/search 下拉选,不手敲 id。
/database/api/me 加 displayName 与 avatarUrl:侧栏此前显示原始 userId。
旧页面是服务端渲染,handler 里查 Prisma 就有名字;页面不再服务端渲染后
(ADR-0029),模板闭包过的数据也是被迁移的契约的一部分,不是旧实现的
无关细节。
概览面板同时补回丢失的「类型」「更新时间」两行、导出 target 下拉、
节点标题旁的角色 tag,以及整块缺失的独立权限开关。
2026-07-26 20:19:47 +08:00
白
d159e372d2
refactor(database)!: 后端不再渲染任何 HTML,只出 JSON
...
删掉约 1770 行服务端模板拼接:renderDashboard / renderLoginPage
(databaseRoutes)、adminPanels、libraryBrowser、uiTheme,以及
libraryPage —— 后者迁移前已是无人引用的死代码。
新增两个端点承接原先在 page handler 里 inline 算的东西:
GET /database/config 免鉴权 bootstrap(org slug + dev 开关);
注册位置刻意早于 silo org 的提前返回,
org 未就绪时登录页仍要能渲染。
GET /database/api/stats 概览统计,要求 silo org OWNER/ADMIN ——
它聚合的是 org 级计数与审计流,不是
单节点权限视图。
静态托管收敛到 static.ts:一份 filelib-web 构建产物挂 /app 与
/database 两个前缀,资源路由只注册一次。并发症是路由顺序成了硬约束
—— 具体页面路由必须先于 SPA 通配注册,否则重演 /database/dashboard
盖住 SPA 的老 bug(ADR-0029)。
/database/library 改为 302 到 /database/dashboard/library。
BREAKING: 部署需先构建 filelib-web,否则 static.ts 的 existsSync
守卫会让 /app 与 /database 全部 404。
2026-07-26 20:17:59 +08:00
白
11a7ec8004
feat(database): 后台成员组(MemberGroup)管理与嵌套解析
2026-07-26 18:06:18 +08:00
白
2f2ece1a3a
fix(database): expose submitCreate on window.__lib in library browser
...
新建根目录/子节点弹窗的「创建」按钮 onclick 调 window.__lib.submitCreate,
但该函数虽已定义却漏挂到 __lib 导出表,导致点击报 "submitCreate is not
a function"。补挂即可。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-26 16:39:38 +08:00
白
58c81d4379
Merge remote-tracking branch 'origin/main' into feat/member-group-hierarchy
2026-07-24 00:00:50 +08:00
ymy
4021e58d5d
feat(database): init database folder frontend and permission
2026-07-23 23:41:11 +08:00
白
12628c9233
feat(hub): migrate database admin pages to SPA (database-admin)
...
- scaffold hub/database-admin as SvelteKit 2 + Svelte 5 static SPA
with aurora/glass visual style (paths.base='/database')
- add lib/{api,session,org}.ts + Aurora.svelte component
- add routes: root redirect, /admin login page, /dashboard (OWNER/ADMIN only)
- backend: replace server-rendered HTML routes with /database/config JSON endpoint
- add hub/src/database/static.ts to serve SPA under /database/*
- wire registerDatabaseSpa into plugin.ts
- exempt /database/* from silo rate-limit (same treatment as /admin/*)
- add database:dev + database:build npm scripts; update deploy scripts
- update hub/src/database/README.md
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-23 21:51:53 +08:00
白
5df1900ca8
docs(hub): document HUB_DEV_LOGIN_BYPASS dev login in database README
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-20 21:09:14 +08:00
白
df66691d24
feat(hub): add /database admin surface with Feishu login
...
Adds a self-contained `/database/*` HTTP surface under hub/src/database:
- /database/admin: Feishu-only login page (Tailwind, light theme)
- /database/dashboard: session-gated sidebar + content shell
- /database/dev-login: DEV ONLY session bypass, double-gated by
NODE_ENV != production AND HUB_DEV_LOGIN_BYPASS; never active in prod
hub.ts mounts the plugin after the admin plugin so the cookie parser and
/auth/feishu/* routes are available. The dev bypass logic is fully contained
in the database module; admin auth routes are untouched.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-20 21:02:04 +08:00