forked from EduCraft/curriculum-project-hub
b4dd8f09e1
按 ADR-0001..0004/0017 重塑 schema,非照搬旧服务: - ADR-0001: ProjectGroupBinding project↔chat 1:1(chatId @unique 钉单射不变式) - ADR-0002: ProjectAgentLock projectId @id(at-most-one)+runId @unique;holder=run 非 session - ADR-0004: PermissionGrant(resource×principal×role)+PermissionSettings(六旋钮)新落; PermissionRole=read/edit/manage 与 PlatformRole=admin/teacher 分离(旧 schema 混淆了) - ADR-0017: AgentSession 无 claudeSessionId,改 provider+model(切 model 即新 session) - RunState 对齐 spec:加 WAITING_FOR_USER/TIMED_OUT(枚举完整性 OPEN) - Audit:runId 是 PINNED 关系,其余 OPEN 旧 schema 的 FeishuProjectBinding(user/chat 混表)拆为单一 ProjectGroupBinding。 prisma validate 通过;generate 通过;tsc --noEmit rc=0; 类型级 schema 约束检查全部通过(ADR-0002 主键/唯一、ADR-0017 无 claudeSessionId 等)。
29 lines
1.1 KiB
JSON
29 lines
1.1 KiB
JSON
{
|
|
"name": "@paradigm/hub",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": { "node": ">=20" },
|
|
"dependencies": {
|
|
"openai": "^4.77.0",
|
|
"@fastify/cookie": "^11.0.2",
|
|
"fastify": "^5.8.5",
|
|
"@prisma/client": "^6.19.3"
|
|
},
|
|
"devDependencies": {
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.7.0",
|
|
"prisma": "^6.19.3"
|
|
},
|
|
"description": "Curriculum Project Hub — Feishu-group collaboration + provider-agnostic agent runtime. Aligns to spec/System (ADR-0001..0004, 0017).",
|
|
"scripts": {
|
|
"dev": "tsx watch src/server.ts",
|
|
"build": "tsc -p tsconfig.json",
|
|
"start": "node dist/server.js",
|
|
"check": "tsc -p tsconfig.json --noEmit",
|
|
"prisma:generate": "prisma generate --schema prisma/schema.prisma",
|
|
"prisma:validate": "DATABASE_URL=${DATABASE_URL:-postgresql://stub:stub@127.0.0.1:5432/stub} prisma validate --schema prisma/schema.prisma",
|
|
"prisma:migrate": "DATABASE_URL=${DATABASE_URL:-postgresql://paradigm:paradigm@127.0.0.1:5432/paradigm} prisma migrate deploy --schema prisma/schema.prisma"
|
|
}
|
|
}
|