@whispering233/ai-editor-server 0.0.33 → 0.0.36
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/client-dist/assets/{index-oxaM6dHH.css → index-DMxsNVkh.css} +1 -1
- package/client-dist/assets/{index-tfvJfexp.js → index-DvsPl_zn.js} +182 -182
- package/client-dist/index.html +2 -2
- package/dist/middleware/project.d.ts +27 -3
- package/dist/middleware/project.d.ts.map +1 -1
- package/dist/middleware/project.js +56 -5
- package/dist/middleware/project.js.map +1 -1
- package/dist/routes/delta.d.ts.map +1 -1
- package/dist/routes/delta.js +20 -2
- package/dist/routes/delta.js.map +1 -1
- package/dist/routes/project.js +13 -11
- package/dist/routes/project.js.map +1 -1
- package/dist/routes/relation.d.ts.map +1 -1
- package/dist/routes/relation.js +33 -3
- package/dist/routes/relation.js.map +1 -1
- package/package.json +5 -5
package/client-dist/index.html
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
// localStorage 不可用(隐私模式等)时静默跳过,默认浅色
|
|
14
14
|
}
|
|
15
15
|
</script>
|
|
16
|
-
<script type="module" crossorigin src="/assets/index-
|
|
17
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
16
|
+
<script type="module" crossorigin src="/assets/index-DvsPl_zn.js"></script>
|
|
17
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DMxsNVkh.css">
|
|
18
18
|
</head>
|
|
19
19
|
<body>
|
|
20
20
|
<div id="root"></div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Context, MiddlewareHandler } from "hono";
|
|
2
2
|
import type { ProjectFileConfig } from "@whispering233/ai-editor-shared";
|
|
3
3
|
import { type Db } from "@whispering233/ai-editor-db";
|
|
4
|
+
import { type MigrationResult } from "@whispering233/ai-editor-db";
|
|
4
5
|
/** data.db 文件名(项目根目录) */
|
|
5
6
|
export declare const DATA_DB_FILE_NAME = "data.db";
|
|
6
7
|
/** 项目上下文:内存中单一 currentProject(所有 API 共享) */
|
|
@@ -31,15 +32,38 @@ export declare function getCurrentProject(): ProjectContext | null;
|
|
|
31
32
|
* (错误码为服务端补充码,不在 shared ErrorCode——记录待收敛,见 error.ts 注释)
|
|
32
33
|
*/
|
|
33
34
|
export declare function requireCurrentProject(): ProjectContext;
|
|
35
|
+
/**
|
|
36
|
+
* data.db 打开 + schema 版本对齐的**唯一管道**(卡 2.8 收敛):
|
|
37
|
+
* 开机路径(detectProject)与显式 `POST /project/open` 共用,避免两条路径语义漂移。
|
|
38
|
+
*
|
|
39
|
+
* 语义(`docs/db/schema.md`「schema 版本与迁移」三态分流):
|
|
40
|
+
* - `user_version === SCHEMA_VERSION` → 原连接返回(rebuilt=false);
|
|
41
|
+
* - 旧版本**有迁移路径** → 前向迁移(迁移前自动快照 `data.db.v{n}.{时间戳}.bak`);
|
|
42
|
+
* - 旧版本**无迁移路径** → 删库重建兜底(备份 `data.db.v{n}.bak` + outline 重置);
|
|
43
|
+
* - **未来版本** → 关闭连接并抛 `SchemaVersionError`(调用方决定策略:
|
|
44
|
+
* 路由映射 409 `PROJECT_VERSION_NEWER`;开机态回待命)。
|
|
45
|
+
*
|
|
46
|
+
* @returns 已对齐版本的活动连接 + 迁移/重建结果(路由用于响应提示)
|
|
47
|
+
* @throws SchemaVersionError 未来版本拒绝打开;迁移/重建过程的 I/O 错误
|
|
48
|
+
*/
|
|
49
|
+
export declare function openProjectDatabase(dir: string): {
|
|
50
|
+
db: Db;
|
|
51
|
+
result: MigrationResult;
|
|
52
|
+
};
|
|
34
53
|
/**
|
|
35
54
|
* 检测并打开项目(启动流程 ④ 修订——设计缺陷修复):
|
|
36
|
-
* project.json 存在 →
|
|
55
|
+
* project.json 存在 → 走 `openProjectDatabase`(版本检测 + 迁移/重建,与 open 路由同管道),
|
|
56
|
+
* 返回项目上下文(打开语义,部署场景「启动即用」);
|
|
37
57
|
* project.json 不存在 → **返回 null(待命)**——不初始化、不建任何文件(含目录),
|
|
38
58
|
* 由前端 Dashboard 引导走 POST /project/create 或 /project/open(S1.4 开/建页;
|
|
39
59
|
* 此前无条件初始化导致引导永不显示、dev 态污染 packages/server 包目录)。
|
|
40
60
|
* project.json 损坏(JSON 解析失败)→ 抛错(readProjectFile 语义:不静默重建,防数据误伤)。
|
|
41
|
-
*
|
|
42
|
-
*
|
|
61
|
+
*
|
|
62
|
+
* **版本对齐(卡 2.8)**:旧库有迁移路径 → 前向迁移(含迁移前快照);无路径 → 删库重建兜底;
|
|
63
|
+
* **未来版本库**(`SchemaVersionError`)→ 拒绝打开、**零写操作**,本函数记日志并回待命
|
|
64
|
+
*(用户点开这本书时 open 路由仍返回 409 `PROJECT_VERSION_NEWER`);打开/迁移的其他错误
|
|
65
|
+
* 同理回待命并记日志(下次 open/重启重试)——与 `detectLastProject` 的「不阻断启动」
|
|
66
|
+
* 语义一致,数据原封不动。
|
|
43
67
|
*/
|
|
44
68
|
export declare function detectProject(root: string): ProjectContext | null;
|
|
45
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAA+C,KAAK,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAS/G,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAK3C,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,EAAE,EAAE,EAAE,CAAC;CACR;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAAG,cAAc,CAEtF;AAWD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAUtE;AAED,uBAAuB;AACvB,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CAKtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAWpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAiBjE;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,GACrE,cAAc,CAoBhB;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE1D;AAYD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,CASzD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CAQrD"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
// 职责(第 121-122 行 middleware/project.ts「项目路径注入」):
|
|
4
4
|
// 1. detectProject:检测 project.json——存在则打开(部署场景「启动即用」);不存在返回
|
|
5
5
|
// null 待命(不初始化、不建文件,由前端 Dashboard 引导 create/open;S1.4 开/建页依赖)
|
|
6
|
+
// openProjectDatabase:data.db 打开 + schema 版本对齐的**唯一管道**(开机路径与
|
|
7
|
+
// POST /project/open 共用,卡 2.8——开机直达不再跳过迁移)
|
|
6
8
|
// initProject:显式初始化三文件(S1.2 create 路由专用,含建目录 + user_version)
|
|
7
9
|
// 2. currentProject 内存单例(S1.2):create/open 切换、close 清空,
|
|
8
10
|
// 模块级可变状态由路由(routes/project.ts)读写,projectMiddleware 从状态注入 Hono 上下文
|
|
@@ -13,6 +15,7 @@ import { basename, join } from "node:path";
|
|
|
13
15
|
import { mkdirSync } from "node:fs";
|
|
14
16
|
import { generateProjectId, DEFAULT_BACKUP_FREQUENCY_MINUTES } from "@whispering233/ai-editor-shared";
|
|
15
17
|
import { closeDatabase, openDatabase, setUserVersion } from "@whispering233/ai-editor-db";
|
|
18
|
+
import { ensureSchemaCompatible, SchemaVersionError } from "@whispering233/ai-editor-db";
|
|
16
19
|
import { readProjectFile, writeProjectFile } from "@whispering233/ai-editor-db";
|
|
17
20
|
import { writeOutlineFile } from "@whispering233/ai-editor-db";
|
|
18
21
|
import { SCHEMA_VERSION } from "@whispering233/ai-editor-db";
|
|
@@ -67,27 +70,75 @@ export function requireCurrentProject() {
|
|
|
67
70
|
}
|
|
68
71
|
return currentProject;
|
|
69
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* data.db 打开 + schema 版本对齐的**唯一管道**(卡 2.8 收敛):
|
|
75
|
+
* 开机路径(detectProject)与显式 `POST /project/open` 共用,避免两条路径语义漂移。
|
|
76
|
+
*
|
|
77
|
+
* 语义(`docs/db/schema.md`「schema 版本与迁移」三态分流):
|
|
78
|
+
* - `user_version === SCHEMA_VERSION` → 原连接返回(rebuilt=false);
|
|
79
|
+
* - 旧版本**有迁移路径** → 前向迁移(迁移前自动快照 `data.db.v{n}.{时间戳}.bak`);
|
|
80
|
+
* - 旧版本**无迁移路径** → 删库重建兜底(备份 `data.db.v{n}.bak` + outline 重置);
|
|
81
|
+
* - **未来版本** → 关闭连接并抛 `SchemaVersionError`(调用方决定策略:
|
|
82
|
+
* 路由映射 409 `PROJECT_VERSION_NEWER`;开机态回待命)。
|
|
83
|
+
*
|
|
84
|
+
* @returns 已对齐版本的活动连接 + 迁移/重建结果(路由用于响应提示)
|
|
85
|
+
* @throws SchemaVersionError 未来版本拒绝打开;迁移/重建过程的 I/O 错误
|
|
86
|
+
*/
|
|
87
|
+
export function openProjectDatabase(dir) {
|
|
88
|
+
const dbPath = join(dir, DATA_DB_FILE_NAME);
|
|
89
|
+
const db = openDatabase(dbPath);
|
|
90
|
+
try {
|
|
91
|
+
const out = ensureSchemaCompatible(db, dir, dbPath);
|
|
92
|
+
return { db: out.db, result: out.result };
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
// 幂等:拒绝/迁移失败分支内已关连接(db 包保证无句柄泄漏),此处仅防御
|
|
96
|
+
closeDatabase(db);
|
|
97
|
+
throw err;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
70
100
|
/**
|
|
71
101
|
* 检测并打开项目(启动流程 ④ 修订——设计缺陷修复):
|
|
72
|
-
* project.json 存在 →
|
|
102
|
+
* project.json 存在 → 走 `openProjectDatabase`(版本检测 + 迁移/重建,与 open 路由同管道),
|
|
103
|
+
* 返回项目上下文(打开语义,部署场景「启动即用」);
|
|
73
104
|
* project.json 不存在 → **返回 null(待命)**——不初始化、不建任何文件(含目录),
|
|
74
105
|
* 由前端 Dashboard 引导走 POST /project/create 或 /project/open(S1.4 开/建页;
|
|
75
106
|
* 此前无条件初始化导致引导永不显示、dev 态污染 packages/server 包目录)。
|
|
76
107
|
* project.json 损坏(JSON 解析失败)→ 抛错(readProjectFile 语义:不静默重建,防数据误伤)。
|
|
77
|
-
*
|
|
78
|
-
*
|
|
108
|
+
*
|
|
109
|
+
* **版本对齐(卡 2.8)**:旧库有迁移路径 → 前向迁移(含迁移前快照);无路径 → 删库重建兜底;
|
|
110
|
+
* **未来版本库**(`SchemaVersionError`)→ 拒绝打开、**零写操作**,本函数记日志并回待命
|
|
111
|
+
*(用户点开这本书时 open 路由仍返回 409 `PROJECT_VERSION_NEWER`);打开/迁移的其他错误
|
|
112
|
+
* 同理回待命并记日志(下次 open/重启重试)——与 `detectLastProject` 的「不阻断启动」
|
|
113
|
+
* 语义一致,数据原封不动。
|
|
79
114
|
*/
|
|
80
115
|
export function detectProject(root) {
|
|
81
116
|
const existing = readProjectFile(root);
|
|
82
117
|
if (existing === null) {
|
|
83
118
|
return null;
|
|
84
119
|
}
|
|
85
|
-
|
|
86
|
-
|
|
120
|
+
let db;
|
|
121
|
+
try {
|
|
122
|
+
({ db } = openProjectDatabase(root));
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
logStartupOpenFailure(root, err);
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const project = { root, config: existing, db };
|
|
129
|
+
// 自动迁移:project.json 有非空 prompt 且无 AGENTS.md → 迁移写入(原样,一次性)
|
|
87
130
|
//(实现位于 backup.ts——backup 模块不依赖 middleware,middleware 侧经 ../backup.js 复用)
|
|
88
131
|
migratePromptToAgents(project);
|
|
89
132
|
return project;
|
|
90
133
|
}
|
|
134
|
+
/** 启动路径打开失败的日志(不阻断启动;未来版本另给明确文案) */
|
|
135
|
+
function logStartupOpenFailure(root, err) {
|
|
136
|
+
if (err instanceof SchemaVersionError) {
|
|
137
|
+
console.error(`[server] 启动自动打开被拒绝(data.db 版本高于程序版本,已回待命): ${root} — ${err.message}`);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
console.error(`[server] 启动自动打开失败(已回待命,下次 open/重启重试): ${root}`, err);
|
|
141
|
+
}
|
|
91
142
|
/**
|
|
92
143
|
* 显式初始化新项目(S1.2 create 路由专用,「首次初始化三文件」语义):
|
|
93
144
|
* 建目录(mkdir recursive,含嵌套不存在的父目录)→ 写 project.json(id=proj- 前缀 nanoid、
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,EAAE;AACF,iDAAiD;AACjD,4DAA4D;AAC5D,8DAA8D;AAC9D,6DAA6D;AAC7D,wDAAwD;AACxD,mEAAmE;AACnE,2CAA2C;AAC3C,oDAAoD;AACpD,sDAAsD;AACtD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAW,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAqB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,yBAAyB;AACzB,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,0CAA0C;AAC1C,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAcxD,8BAA8B;AAC9B,MAAM,UAAU,UAAU,CAAC,CAA2C;IACpE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC;AAED,sDAAsD;AACtD,EAAE;AACF,4CAA4C;AAC5C,uDAAuD;AACvD,oCAAoC;AAEpC,wBAAwB;AACxB,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA8B;IAC9D,6CAA6C;IAC7C,2DAA2D;IAC3D,qBAAqB,EAAE,CAAC;IACxB,cAAc,GAAG,OAAO,CAAC;IACzB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,cAAc,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiC,EAAE,wCAAwC,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ5B,2CAA2C;AAC3C,eAAO,MAAM,WAAW,4EAAa,CAAC"}
|
package/dist/routes/delta.js
CHANGED
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
// 触发节点不存在或已软删 → 404 OUTLINE_NODE_NOT_FOUND(POST /delta 与 /delta/compute 路由层前置校验;
|
|
12
12
|
// POST /delta 虽未定义该错误码,但 db 层 insertDelta 不校验节点(delta.ts 注释:缺失节点记录
|
|
13
13
|
// 因可见性规则永久不可见),路由层拦截防死记录——oracle 建议)
|
|
14
|
+
// POST /delta 触发节点非章 → 400 VALIDATION_ERROR(锚点仅章,卷/场景拒绝;
|
|
15
|
+
// /delta/compute 的 at_node_id 不限层级——收窄仅写入侧)
|
|
14
16
|
// 目标实体不存在或已软删 → 404 ENTITY_NOT_FOUND(POST /delta/compute)
|
|
15
17
|
import { Hono } from "hono";
|
|
16
18
|
import { computeState, findOutlineNode, getEntity, insertDelta, listDeltasByNode, readOutlineFile } from "@whispering233/ai-editor-db";
|
|
@@ -26,6 +28,7 @@ export const deltaRoutes = new Hono();
|
|
|
26
28
|
* 缺失节点记录会因可见性规则(触发节点缺失视同不可见)永久不可见,
|
|
27
29
|
* 故路由层拦截并映射 404 OUTLINE_NODE_NOT_FOUND;computeState 的 getOutlinePathIds
|
|
28
30
|
* 对缺失节点抛错(视为调用方 bug),同样由本校验先行兜底。
|
|
31
|
+
* **返回节点**:存在性与层级是两档校验,调用方(POST / 仅章)需拿到节点继续收紧。
|
|
29
32
|
*/
|
|
30
33
|
function assertOutlineNode(project, nodeId) {
|
|
31
34
|
const tree = readOutlineFile(project.root);
|
|
@@ -33,6 +36,20 @@ function assertOutlineNode(project, nodeId) {
|
|
|
33
36
|
if (node === undefined || node.deleted === true) {
|
|
34
37
|
throw new HttpError(404, "OUTLINE_NODE_NOT_FOUND", `大纲节点不存在: ${nodeId}`);
|
|
35
38
|
}
|
|
39
|
+
return node;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 变更记录锚点层级校验(卡片 1.2 收紧):触发节点只能是**章**——卷太粗、场景太碎,
|
|
43
|
+
* 一章一个状态变化点才是叙事粒度(见 `docs/db/schema.md` delta_records 节「锚点仅章」
|
|
44
|
+
* 与 `docs/design/10-data-model.md` §14.7)。
|
|
45
|
+
* **只限写入侧**:`/delta/compute` 的 `at_node_id` 不限层级(「第 3 章第 2 场时他什么状态」
|
|
46
|
+
* 是合法查询)。与 S13.3 target_type 白名单同模式:shared schema 不动、路由层 400;
|
|
47
|
+
* AI 提案通道(propose_add_delta)在 tools 层独立拒绝。
|
|
48
|
+
*/
|
|
49
|
+
function assertDeltaAnchorChapter(node, nodeId) {
|
|
50
|
+
if (node.type !== "chapter") {
|
|
51
|
+
throw new HttpError(400, "VALIDATION_ERROR", `变更记录的触发节点须为章(卷/场景不承载变更记录): ${nodeId}`);
|
|
52
|
+
}
|
|
36
53
|
}
|
|
37
54
|
/**
|
|
38
55
|
* per-op 必填字段校验:
|
|
@@ -90,7 +107,7 @@ function assertDeltaTargetType(targetType) {
|
|
|
90
107
|
}
|
|
91
108
|
// POST /api/v1/delta —— 追加属性变更(201;order 服务端全局单调生成)
|
|
92
109
|
// 校验顺序(oracle 建议):schema → target_type 白名单(400,S13.3 请求形状校验,无 DB 读)→
|
|
93
|
-
// 触发节点存在性(404)→ per-op 必填(400)→ insert
|
|
110
|
+
// 触发节点存在性(404)→ 触发节点层级仅章(400,卡片 1.2)→ per-op 必填(400)→ insert
|
|
94
111
|
deltaRoutes.post("/", async (c) => {
|
|
95
112
|
const project = requireCurrentProject();
|
|
96
113
|
const raw = await c.req.json().catch(() => null);
|
|
@@ -100,7 +117,8 @@ deltaRoutes.post("/", async (c) => {
|
|
|
100
117
|
}
|
|
101
118
|
const { node_id, target_type, target_id, changes, description } = parsed.data;
|
|
102
119
|
assertDeltaTargetType(target_type); // S13.3:变更目标仅实体类型(shared schema 不动,路由层收紧)
|
|
103
|
-
assertOutlineNode(project, node_id); // 触发节点必须存在且未软删(防死记录)
|
|
120
|
+
const node = assertOutlineNode(project, node_id); // 触发节点必须存在且未软删(防死记录)
|
|
121
|
+
assertDeltaAnchorChapter(node, node_id); // 卡片 1.2:触发节点仅章(卷/场景拒绝)
|
|
104
122
|
validateChangesByOp(changes); // per-op 必填字段
|
|
105
123
|
const row = insertDelta(project.db, {
|
|
106
124
|
nodeId: node_id,
|
package/dist/routes/delta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,EAAE;AACF,4CAA4C;AAC5C,oCAAoC;AACpC,gBAAgB;AAChB,oEAAoE;AACpE,qCAAqC;AACrC,uEAAuE;AACvE,oEAAoE;AACpE,iDAAiD;AACjD,iFAAiF;AACjF,mEAAmE;AACnE,qCAAqC;AACrC,0DAA0D;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEvI,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAuB,MAAM,0BAA0B,CAAC;AAEtF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;AAEtC
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/project.js
CHANGED
|
@@ -9,17 +9,16 @@ import { basename, dirname, isAbsolute, join, resolve } from "node:path";
|
|
|
9
9
|
import { existsSync, mkdirSync, readdirSync, realpathSync, renameSync, rmSync, } from "node:fs";
|
|
10
10
|
import { Hono } from "hono";
|
|
11
11
|
import { mapProjectFileToConfig } from "@whispering233/ai-editor-shared";
|
|
12
|
-
import { openDatabase } from "@whispering233/ai-editor-db";
|
|
13
|
-
import { ensureSchemaCompatible, DATA_DB_FILE_NAME } from "@whispering233/ai-editor-db";
|
|
14
12
|
import { SchemaVersionError } from "@whispering233/ai-editor-db";
|
|
15
13
|
import { OUTLINE_FILE_NAME } from "@whispering233/ai-editor-db";
|
|
16
14
|
import { PROJECT_FILE_NAME } from "@whispering233/ai-editor-db";
|
|
15
|
+
import { DATA_DB_FILE_NAME } from "@whispering233/ai-editor-db";
|
|
17
16
|
import { agentsFileMtimeIso, findOutlineNode, readAgentsFile, readOutlineFile, readProjectFile, writeAgentsFile, writeProjectFile, } from "@whispering233/ai-editor-db";
|
|
18
17
|
import { nowIso } from "@whispering233/ai-editor-db";
|
|
19
18
|
import { projectAgentsGetResSchema, projectAgentsPutReqSchema, projectAgentsPutResSchema, projectBackupRenameReqSchema, projectBackupReqSchema, projectConfigUpdateReqSchema, projectCreateReqSchema, projectListResSchema, projectOpenReqSchema, } from "@whispering233/ai-editor-shared/schemas";
|
|
20
19
|
import { createBackupZip, listBackups, migratePromptToAgents, overwriteProjectFiles, renameBackup, restoreBackup, snapshotBookDir, validateBackupPackage, writeBackup, writeProjectFilesFromBackup } from "../backup.js";
|
|
21
20
|
import { HttpError, ok } from "../middleware/error.js";
|
|
22
|
-
import { closeProject, getCurrentProject, initProject, requireCurrentProject, setCurrentProject, } from "../middleware/project.js";
|
|
21
|
+
import { closeProject, getCurrentProject, initProject, openProjectDatabase, requireCurrentProject, setCurrentProject, } from "../middleware/project.js";
|
|
23
22
|
import { logSoftDeleteReconcile, reconcileSoftDelete } from "../consistency.js";
|
|
24
23
|
import { writeLastProject } from "../last-project.js";
|
|
25
24
|
// ============ 创作根(书架模式 S1.5) ============
|
|
@@ -126,7 +125,7 @@ projectRoutes.post("/open", async (c) => {
|
|
|
126
125
|
throw new HttpError(400, "INVALID_PROJECT_PATH", `目标目录不含 project.json,不是项目: ${dir}`);
|
|
127
126
|
}
|
|
128
127
|
// 打开顺序(oracle 审核建议 1):**先开新项目成功后再关旧的**——
|
|
129
|
-
// 若先 closeProject(prev) 再开新项目,
|
|
128
|
+
// 若先 closeProject(prev) 再开新项目,openProjectDatabase 抛错时
|
|
130
129
|
// currentProject 会悬挂指向连接已关闭的旧项目(后续请求 "connection not open" → 500)。
|
|
131
130
|
// 失败语义:open 失败 = 操作未生效——当前项目保持原样(连接仍有效、单例不变)。
|
|
132
131
|
// schema 版本检测:data.db user_version——
|
|
@@ -136,18 +135,16 @@ projectRoutes.post("/open", async (c) => {
|
|
|
136
135
|
// 堵降级路径数据丢失)。SchemaVersionError 由 db 包
|
|
137
136
|
// 抛出前已关闭本次打开的连接(无句柄泄漏)。
|
|
138
137
|
try {
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
// 打开管道(卡 2.8):与开机路径 detectProject 共用 `openProjectDatabase`——
|
|
139
|
+
// 版本对齐(迁移/重建/迁移前快照)与未来版本拒绝只有一处实现
|
|
141
140
|
let activeDb;
|
|
142
141
|
let result;
|
|
143
142
|
try {
|
|
144
|
-
|
|
145
|
-
activeDb = out.db;
|
|
146
|
-
result = out.result;
|
|
143
|
+
({ db: activeDb, result } = openProjectDatabase(dir));
|
|
147
144
|
}
|
|
148
145
|
catch (err) {
|
|
149
146
|
// 未来版本拒绝(SchemaVersionError → 409 PROJECT_VERSION_NEWER,message 透传
|
|
150
|
-
// 「请升级程序后打开」;连接已由
|
|
147
|
+
// 「请升级程序后打开」;连接已由 openProjectDatabase 关闭,此处仅做错误码映射)
|
|
151
148
|
if (err instanceof SchemaVersionError) {
|
|
152
149
|
throw new HttpError(409, "PROJECT_VERSION_NEWER", err.message);
|
|
153
150
|
}
|
|
@@ -187,7 +184,7 @@ projectRoutes.post("/open", async (c) => {
|
|
|
187
184
|
}
|
|
188
185
|
catch (err) {
|
|
189
186
|
// open 失败恢复(oracle 审核建议 1 兜底):正常情况下当前项目连接未被触碰(见上注释);
|
|
190
|
-
// 防御性检查——若旧项目连接已被关闭(如未来
|
|
187
|
+
// 防御性检查——若旧项目连接已被关闭(如未来 openProjectDatabase 失败路径提前关连接),
|
|
191
188
|
// 清空单例,后续业务请求走 requireCurrentProject → 409 NO_PROJECT_OPEN(语义化错误而非 500)
|
|
192
189
|
const prev = getCurrentProject();
|
|
193
190
|
if (prev !== null && !prev.db.open) {
|
|
@@ -465,6 +462,11 @@ projectRoutes.put("/config", async (c) => {
|
|
|
465
462
|
if (node === undefined || node.deleted === true) {
|
|
466
463
|
throw new HttpError(400, "OUTLINE_NODE_NOT_FOUND", `current_position 指向的大纲节点不存在或已软删: ${current_position}`);
|
|
467
464
|
}
|
|
465
|
+
// 章级收窄(卡片 1.1):「当前位置」表达写作进度,只承载在章上——卷太粗、
|
|
466
|
+
// 场景太碎;非章 → 400 VALIDATION_ERROR(收窄仅限写入侧,读侧不校验存量值)
|
|
467
|
+
if (node.type !== "chapter") {
|
|
468
|
+
throw new HttpError(400, "VALIDATION_ERROR", `current_position 须指向章节点(卷/场景不承载写作进度): ${current_position}`);
|
|
469
|
+
}
|
|
468
470
|
}
|
|
469
471
|
// 合并更新 + 刷新 updated_at(时间 ISO 8601 应用层写入),写盘并同步内存
|
|
470
472
|
// backup_frequency_minutes 写侧「只写显式」:未在 patch 中出现不写盘——
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/routes/project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/routes/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/routes/relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/routes/relation.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAuB5B,0CAA0C;AAC1C,eAAO,MAAM,cAAc,4EAAa,CAAC;AAwJzC,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAcpD"}
|
package/dist/routes/relation.js
CHANGED
|
@@ -1,19 +1,45 @@
|
|
|
1
1
|
// 关系路由(S3.4):GET / 查询(k 跳遍历)、POST / 创建(判重)、DELETE /:id 物理删
|
|
2
2
|
//
|
|
3
3
|
// (可见性联动端点状态;手动删关系 = 物理删)。
|
|
4
|
+
// **伏笔锚点仅章(卡片 1.3 + 5.2)**:plants/advances/resolves **无条件**要求源端为章大纲节点
|
|
5
|
+
// (assertHookRelationSourceChapter → 400 VALIDATION_ERROR)——卷/场景不承载伏笔标记;
|
|
6
|
+
// 「源端为实体」的反向组合(如 person → outline_node)无任何消费者(分析层只认
|
|
7
|
+
// outline_node → hook),落库即数据卫生问题,同样拒绝。
|
|
4
8
|
// 错误映射(db RelationError → HttpError,对照 错误码):
|
|
5
9
|
// RELATION_EXISTS → 409 RELATION_EXISTS(同三元组已存在)
|
|
6
10
|
// EVENT_ALREADY_MOUNTED → 409 EVENT_ALREADY_MOUNTED(occurs_at 1:n 重复挂载,G2)
|
|
7
11
|
// ENDPOINT_NOT_FOUND → 400 VALIDATION_ERROR(端点不存在/软删是参数问题)
|
|
8
|
-
// INVALID_RELATION_TYPE → 400 VALIDATION_ERROR
|
|
12
|
+
// INVALID_RELATION_TYPE → 400 VALIDATION_ERROR(语法非法——schema 层已按 shared 语法函数拦截,防御分支)
|
|
9
13
|
// DELETE 0 影响行 → 404 RELATION_NOT_FOUND
|
|
10
14
|
import { Hono } from "hono";
|
|
11
|
-
import { assertEventSingleOccursAt, createRelation, deleteRelation, eventOccursAt, listRelations, nowIso, RelationError, updateRelationMetadata, wouldCreateSettingCycle, } from "@whispering233/ai-editor-db";
|
|
15
|
+
import { assertEventSingleOccursAt, createRelation, deleteRelation, eventOccursAt, findOutlineNode, listRelations, nowIso, readOutlineFile, RelationError, updateRelationMetadata, wouldCreateSettingCycle, } from "@whispering233/ai-editor-db";
|
|
16
|
+
import { HOOK_RELATION_TYPES } from "@whispering233/ai-editor-shared";
|
|
12
17
|
import { relationCreateReqSchema, relationQuerySchema, relationUpdateMetaReqSchema, } from "@whispering233/ai-editor-shared/schemas";
|
|
13
18
|
import { HttpError, ok } from "../middleware/error.js";
|
|
14
19
|
import { requireCurrentProject } from "../middleware/project.js";
|
|
15
20
|
/** 关系路由(挂载于 /api/v1/relation,index.ts) */
|
|
16
21
|
export const relationRoutes = new Hono();
|
|
22
|
+
/**
|
|
23
|
+
* 伏笔关系源端校验(卡片 1.3 + 5.2):`plants`/`advances`/`resolves` 的源端**必须是章大纲节点**。
|
|
24
|
+
* - 源端不是大纲节点(实体等)→ 直接拒(卡片 5.2:反向组合无消费者,属数据卫生问题);
|
|
25
|
+
* - 源端是大纲节点但不是章(卷/场景)→ 拒(伏笔是章级叙事事件,与 Delta 锚点同口径)。
|
|
26
|
+
*
|
|
27
|
+
* **存在性/软删不在此报错**:交由 createRelation 的 ENDPOINT_NOT_FOUND → 400
|
|
28
|
+
* VALIDATION_ERROR 统一处理(避免两处端点错误文案漂移)——仅当节点存在且未软删时校验层级。
|
|
29
|
+
* 与 S13.3 target_type 白名单同模式:shared schema 不动、路由层 400;AI 提案通道
|
|
30
|
+
* (propose_add_relation)在 tools 层独立拒绝。
|
|
31
|
+
*/
|
|
32
|
+
function assertHookRelationSourceChapter(project, sourceType, sourceId) {
|
|
33
|
+
if (sourceType !== "outline_node") {
|
|
34
|
+
throw new HttpError(400, "VALIDATION_ERROR", `伏笔关系(plants/advances/resolves)的源端须为章大纲节点,当前为 ${sourceType}: ${sourceId}`);
|
|
35
|
+
}
|
|
36
|
+
const node = findOutlineNode(readOutlineFile(project.root), sourceId);
|
|
37
|
+
if (node === undefined || node.deleted === true)
|
|
38
|
+
return;
|
|
39
|
+
if (node.type !== "chapter") {
|
|
40
|
+
throw new HttpError(400, "VALIDATION_ERROR", `伏笔锚点须为章(卷/场景不承载伏笔标记): ${sourceId}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
17
43
|
// GET /api/v1/relation —— 查询(depth 必填 1|2|3;过滤条件组合;响应 camelCase)
|
|
18
44
|
relationRoutes.get("/", (c) => {
|
|
19
45
|
const project = requireCurrentProject();
|
|
@@ -33,9 +59,13 @@ relationRoutes.post("/", async (c) => {
|
|
|
33
59
|
const raw = await c.req.json().catch(() => null);
|
|
34
60
|
const parsed = relationCreateReqSchema.safeParse(raw);
|
|
35
61
|
if (!parsed.success) {
|
|
36
|
-
throw parsed.error; // → 400 VALIDATION_ERROR(含 relation_type
|
|
62
|
+
throw parsed.error; // → 400 VALIDATION_ERROR(含 relation_type 语法校验(trim 非空/≤32/禁控制字符,卡片 8.2)、字段校验)
|
|
37
63
|
}
|
|
38
64
|
const { source_type, source_id, target_type, target_id, relation_type, metadata } = parsed.data;
|
|
65
|
+
// 伏笔关系源端仅章(卡片 1.3 + 5.2):plants/advances/resolves 无条件要求源端为章大纲节点
|
|
66
|
+
if (HOOK_RELATION_TYPES.includes(relation_type)) {
|
|
67
|
+
assertHookRelationSourceChapter(project, source_type, source_id);
|
|
68
|
+
}
|
|
39
69
|
let row;
|
|
40
70
|
try {
|
|
41
71
|
// occurs_at 1:n 挂载校验(G2,一个事件至多挂一个时间点)。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/routes/relation.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,2BAA2B;AAC3B,6CAA6C;AAC7C,iDAAiD;AACjD,2EAA2E;AAC3E,2DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/routes/relation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whispering233/ai-editor-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.36",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Hono API 服务端(单进程:API + SPA 静态托管)",
|
|
6
6
|
"type": "module",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@hono/node-server": "^2.0.12",
|
|
35
|
-
"@whispering233/ai-editor-agent": "0.0.
|
|
36
|
-
"@whispering233/ai-editor-db": "0.0.
|
|
37
|
-
"@whispering233/ai-editor-shared": "0.0.
|
|
38
|
-
"@whispering233/ai-editor-tools": "0.0.
|
|
35
|
+
"@whispering233/ai-editor-agent": "0.0.36",
|
|
36
|
+
"@whispering233/ai-editor-db": "0.0.36",
|
|
37
|
+
"@whispering233/ai-editor-shared": "0.0.36",
|
|
38
|
+
"@whispering233/ai-editor-tools": "0.0.36",
|
|
39
39
|
"fflate": "^0.8.3",
|
|
40
40
|
"hono": "^4.7.0",
|
|
41
41
|
"undici": "8.5.0",
|