@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.
@@ -13,8 +13,8 @@
13
13
  // localStorage 不可用(隐私模式等)时静默跳过,默认浅色
14
14
  }
15
15
  </script>
16
- <script type="module" crossorigin src="/assets/index-tfvJfexp.js"></script>
17
- <link rel="stylesheet" crossorigin href="/assets/index-oxaM6dHH.css">
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 存在 → openDatabase 打开,返回项目上下文(打开语义,部署场景「启动即用」);
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
- * 打开时不写 user_version——版本检测交给 open 路由的 ensureSchemaCompatible(S1.1);
42
- * 显式初始化(create 路由)用 initProject(内部写 user_version=SCHEMA_VERSION)。
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":"AAaA,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;AASnG,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;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAUjE;AAED;;;;;;;;;;;;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"}
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 存在 → openDatabase 打开,返回项目上下文(打开语义,部署场景「启动即用」);
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
- * 打开时不写 user_version——版本检测交给 open 路由的 ensureSchemaCompatible(S1.1);
78
- * 显式初始化(create 路由)用 initProject(内部写 user_version=SCHEMA_VERSION)。
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
- const project = { root, config: existing, db: openDatabase(join(root, DATA_DB_FILE_NAME)) };
86
- // 自动迁移:project.json 有非空 prompt 且无 → 迁移写入(原样,一次性)
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":"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"}
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,8DAA8D;AAC9D,2CAA2C;AAC3C,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,sBAAsB,EAAE,kBAAkB,EAAwB,MAAM,6BAA6B,CAAC;AAC/G,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;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,sBAAsB,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAChB,uCAAuC;QACpC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,EAAM,CAAC;IACX,IAAI,CAAC;QACH,CAAC,EAAE,EAAE,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAChE,2DAA2D;IAC3D,yEAAyE;IACxE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,oCAAoC;AACpC,SAAS,qBAAqB,CAAC,IAAY,EAAE,GAAY;IACvD,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,8CAA8C,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,yCAAyC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,cAAsE;IAEtE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,MAAM,GAAsB;QAChC,EAAE,EAAE,iBAAiB,EAAE,EAAE,kBAAkB;QAC3C,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;QACpB,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,cAAc;QAC9B,gBAAgB,EAAE,IAAI;QACzB,8BAA8B;QAC3B,wBAAwB,EAAE,gCAAgC;QAC1D,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,GAAG;QACf,GAAG,cAAc,EAAE,6BAA6B;KACjD,CAAC;IACF,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/B,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACnG,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC1E,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,kDAAkD;IACtF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC9B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,OAAuB;IAClD,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,kDAAkD;AAClD,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yCAAyC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ5B,2CAA2C;AAC3C,eAAO,MAAM,WAAW,4EAAa,CAAC"}
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"}
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"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"}
@@ -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) 再开新项目,openDatabase/ensureSchemaCompatible 抛错时
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
- const dbPath = join(dir, DATA_DB_FILE_NAME);
140
- const db = openDatabase(dbPath);
138
+ // 打开管道(卡 2.8):与开机路径 detectProject 共用 `openProjectDatabase`——
139
+ // 版本对齐(迁移/重建/迁移前快照)与未来版本拒绝只有一处实现
141
140
  let activeDb;
142
141
  let result;
143
142
  try {
144
- const out = ensureSchemaCompatible(db, dir, dbPath);
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
- // 「请升级程序后打开」;连接已由 db 包关闭,此处仅做错误码映射)
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
- // 防御性检查——若旧项目连接已被关闭(如未来 ensureSchemaCompatible 失败路径提前关连接),
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":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAoB5B,0CAA0C;AAC1C,eAAO,MAAM,cAAc,4EAAa,CAAC;AA2HzC,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAcpD"}
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"}
@@ -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(白名单外——schema enum 已拦截,防御分支)
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 enum 白名单、字段校验)
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,6EAA6E;AAC7E,wCAAwC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;AAEzC,iEAAiE;AACjE,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,gDAAgD;IACtE,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC9F,+DAA+D;IAC/D,yDAAyD;IACxD,MAAM,MAAM,GAAG,aAAa,CAC1B,OAAO,CAAC,EAAE,EACV,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,EAC3H,KAAkB,EAClB,OAAO,CAAC,IAAI,CACb,CAAC;IACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,kDAAkD;AAClD,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACnC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,wDAAwD;IAC9E,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAChG,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACN,uCAAuC;QACvC,uDAAuD;QACvD,uDAAuD;QACvD,iFAAiF;QAC9E,IAAI,WAAW,KAAK,WAAW,IAAI,aAAa,KAAK,WAAW,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5F,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpD,yBAAyB,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,qCAAqC;YACzF,CAAC;QACH,CAAC;QACJ,oDAAoD;QACpD,oDAAoD;QACjD,IAAI,aAAa,KAAK,YAAY,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,GAAG,GAAG,cAAc,CAClB,OAAO,CAAC,EAAE,EACV;YACE,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;YAC3B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,EACD,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,CAAC;QACD,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE;YACR,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,YAAY,EAAE,GAAG,CAAC,aAAa;SAChC;KACF,CAAC,EACF,GAAG,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,6CAA6C;AAC7C,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,2DAA2D;AAC3D,gDAAgD;AAChD,4CAA4C;AAC5C,oDAAoD;AACpD,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,mDAAmD;IACzE,CAAC;IACD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;IAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACxB,oDAAoD;YAC/C,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,iBAAiB;gBACpB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3D,KAAK,uBAAuB;gBACjC,sDAAsD;gBAC/C,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACjE,KAAK,oBAAoB,CAAC;YAC1B,KAAK,uBAAuB;gBAC1B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/routes/relation.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,2BAA2B;AAC3B,sEAAsE;AACtE,yEAAyE;AACzE,oDAAoD;AACpD,uCAAuC;AACvC,6CAA6C;AAC7C,iDAAiD;AACjD,2EAA2E;AAC3E,2DAA2D;AAC3D,oFAAoF;AACpF,wCAAwC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,MAAM,EACN,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAuB,MAAM,0BAA0B,CAAC;AAEtF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;AAEzC;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CAAC,OAAuB,EAAE,UAAkB,EAAE,QAAgB;IACpG,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,kBAAkB,EAClB,gDAAgD,UAAU,KAAK,QAAQ,EAAE,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO;IACxD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,gDAAgD;IACtE,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC9F,+DAA+D;IAC/D,yDAAyD;IACxD,MAAM,MAAM,GAAG,aAAa,CAC1B,OAAO,CAAC,EAAE,EACV,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,EAC3H,KAAkB,EAClB,OAAO,CAAC,IAAI,CACb,CAAC;IACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,kDAAkD;AAClD,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACnC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,8EAA8E;IACpG,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACjG,gEAAgE;IAC/D,IAAK,mBAAyC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACvE,+BAA+B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACN,uCAAuC;QACvC,uDAAuD;QACvD,uDAAuD;QACvD,iFAAiF;QAC9E,IAAI,WAAW,KAAK,WAAW,IAAI,aAAa,KAAK,WAAW,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5F,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpD,yBAAyB,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,qCAAqC;YACzF,CAAC;QACH,CAAC;QACJ,oDAAoD;QACpD,oDAAoD;QACjD,IAAI,aAAa,KAAK,YAAY,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,GAAG,GAAG,cAAc,CAClB,OAAO,CAAC,EAAE,EACV;YACE,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;YAC3B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,EACD,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,CAAC;QACD,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE;YACR,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,YAAY,EAAE,GAAG,CAAC,aAAa;SAChC;KACF,CAAC,EACF,GAAG,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,6CAA6C;AAC7C,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,2DAA2D;AAC3D,gDAAgD;AAChD,4CAA4C;AAC5C,oDAAoD;AACpD,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,mDAAmD;IACzE,CAAC;IACD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;IAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACxB,oDAAoD;YAC/C,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,iBAAiB;gBACpB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3D,KAAK,uBAAuB;gBACjC,sDAAsD;gBAC/C,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACjE,KAAK,oBAAoB,CAAC;YAC1B,KAAK,uBAAuB;gBAC1B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whispering233/ai-editor-server",
3
- "version": "0.0.33",
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.33",
36
- "@whispering233/ai-editor-db": "0.0.33",
37
- "@whispering233/ai-editor-shared": "0.0.33",
38
- "@whispering233/ai-editor-tools": "0.0.33",
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",