@whispering233/ai-editor-server 0.0.21 → 0.0.29

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.
Files changed (70) hide show
  1. package/client-dist/assets/index-0zEqGbv5.css +1 -0
  2. package/client-dist/assets/index-DMtHdMMq.js +521 -0
  3. package/client-dist/index.html +3 -3
  4. package/dist/backup.d.ts +78 -78
  5. package/dist/backup.d.ts.map +1 -1
  6. package/dist/backup.js +138 -139
  7. package/dist/backup.js.map +1 -1
  8. package/dist/consistency.d.ts +3 -3
  9. package/dist/consistency.d.ts.map +1 -1
  10. package/dist/consistency.js +4 -4
  11. package/dist/consistency.js.map +1 -1
  12. package/dist/debug.d.ts +1 -1
  13. package/dist/debug.js +7 -7
  14. package/dist/debug.js.map +1 -1
  15. package/dist/index.d.ts +9 -9
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +37 -37
  18. package/dist/index.js.map +1 -1
  19. package/dist/middleware/error.d.ts +4 -4
  20. package/dist/middleware/error.d.ts.map +1 -1
  21. package/dist/middleware/error.js +7 -9
  22. package/dist/middleware/error.js.map +1 -1
  23. package/dist/middleware/project.d.ts +9 -9
  24. package/dist/middleware/project.d.ts.map +1 -1
  25. package/dist/middleware/project.js +23 -23
  26. package/dist/middleware/project.js.map +1 -1
  27. package/dist/reference-files.d.ts +12 -12
  28. package/dist/reference-files.d.ts.map +1 -1
  29. package/dist/reference-files.js +20 -21
  30. package/dist/reference-files.js.map +1 -1
  31. package/dist/routes/chat.d.ts +18 -18
  32. package/dist/routes/chat.d.ts.map +1 -1
  33. package/dist/routes/chat.js +70 -83
  34. package/dist/routes/chat.js.map +1 -1
  35. package/dist/routes/delta.d.ts.map +1 -1
  36. package/dist/routes/delta.js +27 -28
  37. package/dist/routes/delta.js.map +1 -1
  38. package/dist/routes/entity.d.ts.map +1 -1
  39. package/dist/routes/entity.js +44 -45
  40. package/dist/routes/entity.js.map +1 -1
  41. package/dist/routes/names.d.ts.map +1 -1
  42. package/dist/routes/names.js +8 -9
  43. package/dist/routes/names.js.map +1 -1
  44. package/dist/routes/outline.d.ts +1 -1
  45. package/dist/routes/outline.d.ts.map +1 -1
  46. package/dist/routes/outline.js +23 -24
  47. package/dist/routes/outline.js.map +1 -1
  48. package/dist/routes/project.d.ts +6 -6
  49. package/dist/routes/project.d.ts.map +1 -1
  50. package/dist/routes/project.js +91 -95
  51. package/dist/routes/project.js.map +1 -1
  52. package/dist/routes/proposal.d.ts.map +1 -1
  53. package/dist/routes/proposal.js +40 -42
  54. package/dist/routes/proposal.js.map +1 -1
  55. package/dist/routes/reference.d.ts.map +1 -1
  56. package/dist/routes/reference.js +1 -2
  57. package/dist/routes/reference.js.map +1 -1
  58. package/dist/routes/relation.d.ts.map +1 -1
  59. package/dist/routes/relation.js +14 -15
  60. package/dist/routes/relation.js.map +1 -1
  61. package/dist/routes/settings.d.ts +35 -17
  62. package/dist/routes/settings.d.ts.map +1 -1
  63. package/dist/routes/settings.js +157 -52
  64. package/dist/routes/settings.js.map +1 -1
  65. package/dist/routes/trash.d.ts.map +1 -1
  66. package/dist/routes/trash.js +15 -16
  67. package/dist/routes/trash.js.map +1 -1
  68. package/package.json +7 -7
  69. package/client-dist/assets/index-B51Kcb1K.css +0 -1
  70. package/client-dist/assets/index-zgl3whdc.js +0 -104
@@ -1,12 +1,8 @@
1
- // 项目路由(S1.2):POST /create、POST /open、POST /close、GET/PUT /config、GET /export(E1)、
2
- // POST /import(E2)、GET /backups + POST /backup + POST /backup/rename + POST /backup/restore
3
- // (B2.2 决策 27 + B2.6 决策 29
1
+ // 项目路由(S1.2):POST /create、POST /open、POST /close、GET/PUT /config、GET /export
2
+ // POST /importGET /backups + POST /backup + POST /backup/rename + POST /backup/restore
3
+ // (B2.2 + B2.6 )
4
4
  //
5
- // 契约来源:doc/api/endpoints.md 18-122 行(项目管理全部端点)+「备份管理」节(决策 27)、
6
- // doc/design/decisions.md 决策 8(单进程 currentProject)、决策 13 修订(open 时 user_version
7
- // 判定删库重建)、决策 17(路径校验防越权)、决策 27(自动备份与恢复)、决策 29(备份类型标签
8
- // 与重命名)。
9
- // 校验失败统一 400 INVALID_PROJECT_PATH(shared ErrorCode,endpoints.md 第 66 行)。
5
+ // 校验失败统一 400 INVALID_PROJECT_PATH(shared ErrorCode,)。
10
6
  // 备份管道/校验/恢复/重命名逻辑在 backup.ts(B2.2 提取:createBackupZip/validateBackupPackage/
11
7
  // writeBackup/listBackups/restoreBackup/renameBackup——与自动定时器同模块)。
12
8
  import { basename, dirname, isAbsolute, join, resolve } from "node:path";
@@ -40,15 +36,15 @@ export function setProjectRoot(root) {
40
36
  /** books/ 子目录名(书架模式:创作根/books/<书名>/) */
41
37
  export const BOOKS_DIR_NAME = "books";
42
38
  /**
43
- * 规范化并校验项目路径(决策 17,create/open 通用):
39
+ * 规范化并校验项目路径(create/open 通用):
44
40
  *
45
- * 1. **必须是绝对路径**:endpoints.md 契约要求绝对路径;path.resolve 对相对输入会基于
46
- * process.cwd() 折叠,语义歧义(cwd 变化结果即变),显式拒绝
41
+ * 1. **必须是绝对路径**: 要求绝对路径;path.resolve 对相对输入会基于
42
+ * process.cwd 折叠,语义歧义(cwd 变化结果即变),显式拒绝
47
43
  * 2. **path.resolve 规范化**:折叠 `..` 与重复分隔符(防 `..` 逃逸——规范化后即为最终操作目录,
48
- * 不再拼接用户输入)
44
+ * 不再拼接用户输入)
49
45
  * 3. **realpath 一致性校验**:解析后的真实路径(符号链接展开)必须与规范化路径一致,否则拒绝——
50
- * 校验语义(决策 17「防越权读写任意目录」):本应用单项目根模型下「允许范围」即规范化后的
51
- * 路径本身,符号链接会把读写导向意外位置(链接指向任意目录即越权),故链接跳转一律拒绝
46
+ * 校验语义(「防越权读写任意目录」):本应用单项目根模型下「允许范围」即规范化后的
47
+ * 路径本身,符号链接会把读写导向意外位置(链接指向任意目录即越权),故链接跳转一律拒绝
52
48
  *
53
49
  * 调用方约定:create 流程在调用前先 mkdirSync(目录可能尚不存在,realpath 需要目录存在);
54
50
  * open 流程目录不存在时 realpath 抛错 → 同样 400。
@@ -79,7 +75,7 @@ export function resolveProjectDir(rawPath) {
79
75
  }
80
76
  /** 项目路由(挂载于 /api/v1/project,index.ts) */
81
77
  export const projectRoutes = new Hono();
82
- // POST /api/v1/project/create —— 创建新项目(决策 8 初始化三文件)
78
+ // POST /api/v1/project/create —— 创建新项目( 初始化三文件)
83
79
  projectRoutes.post("/create", async (c) => {
84
80
  const raw = await c.req.json().catch(() => null); // 空 body / 非法 JSON → 校验失败
85
81
  const parsed = projectCreateReqSchema.safeParse(raw);
@@ -87,7 +83,7 @@ projectRoutes.post("/create", async (c) => {
87
83
  throw parsed.error; // → app.onError → 400 VALIDATION_ERROR(含 fields)
88
84
  }
89
85
  const { path: rawPath, config } = parsed.data;
90
- // 路径校验(决策 17):绝对路径 + 规范化 + 链接检查;create 允许目录尚不存在——先建目录再校验
86
+ // 路径校验:绝对路径 + 规范化 + 链接检查;create 允许目录尚不存在——先建目录再校验
91
87
  if (!isAbsolute(rawPath)) {
92
88
  throw new HttpError(400, "INVALID_PROJECT_PATH", "path 必须是绝对路径");
93
89
  }
@@ -103,7 +99,7 @@ projectRoutes.post("/create", async (c) => {
103
99
  if (readProjectFile(dir) !== null) {
104
100
  throw new HttpError(409, "PROJECT_ALREADY_EXISTS", `目录已是项目(含 project.json),请用 open 打开: ${dir}`);
105
101
  }
106
- // 初始化三文件(决策 8:project.json + data.db + outline.json,schema_version 同步写入,决策 13)
102
+ // 初始化三文件(project.json + data.db + outline.json,schema_version 同步写入)
107
103
  // initProject 内置:建目录(幂等)+ 三文件 + config 覆盖参数 + user_version=SCHEMA_VERSION
108
104
  // (S1.1 审核建议:避免 brand-new 库在 open 时触发无意义删库重建并留下空库 data.db.v0.bak)
109
105
  const project = initProject(dir, config);
@@ -115,7 +111,7 @@ projectRoutes.post("/create", async (c) => {
115
111
  created: true,
116
112
  }));
117
113
  });
118
- // POST /api/v1/project/open —— 打开已有项目(schema 版本检测 + 删库重建,决策 13 修订)
114
+ // POST /api/v1/project/open —— 打开已有项目(schema 版本检测 + 删库重建)
119
115
  projectRoutes.post("/open", async (c) => {
120
116
  const raw = await c.req.json().catch(() => null);
121
117
  const parsed = projectOpenReqSchema.safeParse(raw);
@@ -123,7 +119,7 @@ projectRoutes.post("/open", async (c) => {
123
119
  throw parsed.error;
124
120
  }
125
121
  const dir = resolveProjectDir(parsed.data.path); // 目录不存在 / 链接跳转 → 400
126
- // open 必须包含 project.json(endpoints.md 第 65 行)
122
+ // open 必须包含 project.json()
127
123
  const config = readProjectFile(dir);
128
124
  if (config === null) {
129
125
  throw new HttpError(400, "INVALID_PROJECT_PATH", `目标目录不含 project.json,不是项目: ${dir}`);
@@ -132,12 +128,12 @@ projectRoutes.post("/open", async (c) => {
132
128
  // 若先 closeProject(prev) 再开新项目,openDatabase/ensureSchemaCompatible 抛错时
133
129
  // currentProject 会悬挂指向连接已关闭的旧项目(后续请求 "connection not open" → 500)。
134
130
  // 失败语义:open 失败 = 操作未生效——当前项目保持原样(连接仍有效、单例不变)。
135
- // schema 版本检测(决策 13 修订 + endpoints.md 第 68-70 行):data.db user_version——
131
+ // schema 版本检测( + ):data.db user_version——
136
132
  // 旧版本(< 当前)→ 删库重建(备份 data.db.v{n}.bak + outline.json.v{n}.bak、重置
137
- // outline 空树、清空回收站);**未来版本(> 当前,E4)→ 拒绝打开 409
138
- // PROJECT_VERSION_NEWER**(提示升级程序;不触发任何重建/备份,数据原封不动——
139
- // 堵降级路径数据丢失,release-review §一 风险 2)。SchemaVersionError 由 db 包
140
- // 抛出前已关闭本次打开的连接(无句柄泄漏)。
133
+ // outline 空树、清空回收站);**未来版本(> 当前)→ 拒绝打开 409
134
+ // PROJECT_VERSION_NEWER**(提示升级程序;不触发任何重建/备份,数据原封不动——
135
+ // 堵降级路径数据丢失)。SchemaVersionError 由 db 包
136
+ // 抛出前已关闭本次打开的连接(无句柄泄漏)。
141
137
  try {
142
138
  const dbPath = join(dir, DATA_DB_FILE_NAME);
143
139
  const db = openDatabase(dbPath);
@@ -149,7 +145,7 @@ projectRoutes.post("/open", async (c) => {
149
145
  result = out.result;
150
146
  }
151
147
  catch (err) {
152
- // E4:未来版本拒绝(SchemaVersionError → 409 PROJECT_VERSION_NEWER,message 透传
148
+ // 未来版本拒绝(SchemaVersionError → 409 PROJECT_VERSION_NEWER,message 透传
153
149
  // 「请升级程序后打开」;连接已由 db 包关闭,此处仅做错误码映射)
154
150
  if (err instanceof SchemaVersionError) {
155
151
  throw new HttpError(409, "PROJECT_VERSION_NEWER", err.message);
@@ -164,16 +160,16 @@ projectRoutes.post("/open", async (c) => {
164
160
  }
165
161
  const project = { root: dir, config, db: activeDb };
166
162
  setCurrentProject(project);
167
- // 决策 41 自动迁移:project.json 有非空 prompt 且无 AGENTS.md → 迁移写入(原样,一次性;
168
- // 失败不阻塞打开,记录日志下次 open 重试——schema.md「迁移在 open 流程内完成」)
163
+ // 自动迁移:project.json 有非空 prompt 且无 → 迁移写入(原样,一次性;
164
+ // 失败不阻塞打开,记录日志下次 open 重试——「迁移在 open 流程内完成」)
169
165
  migratePromptToAgents(project);
170
- // S4.2 启动一致性校验(决策 16 修订):打开项目即以大纲节点软删为准补标 DB 关联记录
166
+ // S4.2 启动一致性校验:打开项目即以大纲节点软删为准补标 DB 关联记录
171
167
  //(先 DB 后 JSON 崩溃窗口的幽灵形态兜底,幂等;无软删节点不输出日志)
172
168
  logSoftDeleteReconcile(reconcileSoftDelete(project));
173
- // 响应:openResSchema 核心字段 + rebuilt 提示(端到端文档「向客户端提示已重建」,endpoints.md 第 69 行;
169
+ // 响应:openResSchema 核心字段 + rebuilt 提示(端到端文档「向客户端提示已重建」,;
174
170
  // rebuilt/fromVersion 为附加字段——shared 的 projectOpenResSchema 未含(shared 冻结约束),
175
- // 此处不经 schema parse 直接构造,避免 zod 默认 strip 掉附加字段;建议 2 记录在案,契约修订时收敛)
176
- // E5:有迁移路径的旧版本经前向迁移打开时附加 migrated:true(提示客户端已自动升级数据)
171
+ // 此处不经 schema parse 直接构造,避免 zod 默认 strip 掉附加字段;建议 2 记录在案,修订时收敛)
172
+ // 有迁移路径的旧版本经前向迁移打开时附加 migrated:true(提示客户端已自动升级数据)
177
173
  return c.json(ok({
178
174
  id: config.id,
179
175
  name: config.name,
@@ -227,10 +223,10 @@ projectRoutes.get("/list", (c) => {
227
223
  });
228
224
  /**
229
225
  * list 响应统一出口:经 projectListResSchema 自检后返回(oracle 审核建议 1——
230
- * endpoints.md 第 14 行「类型对应 types/api.ts 的 Zod schema」)。
226
+ * 「类型对应 types/api.ts 的 Zod schema」)。
231
227
  *
232
228
  * **ZodError 处理取舍**:errorHandler 对 ZodError 统一转 400 VALIDATION_ERROR(路由入参校验语义);
233
- * 但此处 parse 的是**服务端自检**(构造的响应是否符合契约)——失败是服务端 bug 而非客户端
229
+ * 但此处 parse 的是**服务端自检**(构造的响应是否符合)——失败是服务端 bug 而非客户端
234
230
  * 参数错误,直接让 ZodError 冒泡会误报 400。故 catch 后重新抛 HttpError(500, INTERNAL_ERROR),
235
231
  * 保持「入参 ZodError → 400、服务端自检 ZodError → 500」的语义边界。
236
232
  */
@@ -239,7 +235,7 @@ function listResponse(c, result) {
239
235
  return c.json(ok(projectListResSchema.parse(result)));
240
236
  }
241
237
  catch (err) {
242
- throw new HttpError(500, "INTERNAL_ERROR", `list 响应不符合契约: ${err instanceof Error ? err.message : String(err)}`);
238
+ throw new HttpError(500, "INTERNAL_ERROR", `list 响应不符合${err instanceof Error ? err.message : String(err)}`);
243
239
  }
244
240
  }
245
241
  // POST /api/v1/project/close —— 关闭当前项目(释放数据库连接)
@@ -252,16 +248,16 @@ projectRoutes.post("/close", (c) => {
252
248
  // 无当前项目时幂等返回 saved:true(close 语义是「确保已关闭」,非报错)
253
249
  return c.json(ok({ saved: true }));
254
250
  });
255
- // GET /api/v1/project/export —— 导出当前项目三文件为 zip(E1,release-review §二)
251
+ // GET /api/v1/project/export —— 导出当前项目三文件为 zip
256
252
  //
257
- // 响应:application/zip **二进制**(endpoints.md 通用约定显式例外,契约见 shared
253
+ // 响应:application/zip **二进制**( 通用约定显式例外,见 shared
258
254
  // types/api.ts PROJECT_EXPORT_FILE_NAMES 注释);Content-Disposition attachment,
259
255
  // 文件名 <书名>.zip(RFC 5987 filename* UTF-8 编码,中文书名安全)。
260
256
  // 流程:requireCurrentProject(无项目 → 409,与 /config 一致)→ 三文件存在性防御
261
257
  // (缺失任一 → 500:打开的项目三文件必然齐全,缺失即损坏,不导出半成品包)→
262
258
  // createBackupZip(B2.2 提取:wal_checkpoint 合并 WAL + zipSync 打包——与自动备份
263
259
  // 同款管道,条目名保持数据文件原名,import/restore 侧按固定名校验)。
264
- // 决策 17:key 存用户级配置,天然不入包。
260
+ // key 存用户级配置,天然不入包。
265
261
  projectRoutes.get("/export", (c) => {
266
262
  const project = requireCurrentProject();
267
263
  const dir = project.root;
@@ -279,7 +275,7 @@ projectRoutes.get("/export", (c) => {
279
275
  c.header("Content-Disposition", `attachment; filename="book.zip"; filename*=UTF-8''${encodeURIComponent(fileName)}`);
280
276
  return c.body(zipData);
281
277
  });
282
- // ============ 导入(E2)与备份管理(决策 27,B2.2) ============
278
+ // ============ 导入与备份管理(B2.2) ============
283
279
  /** 上传大小上限(50MB;ora-4 复核保留——zip 含 data.db,正常项目远小于此) */
284
280
  const MAX_IMPORT_SIZE = 50 * 1024 * 1024;
285
281
  /** 书名校验(与 client Sidebar 新建项目同规则):禁路径分隔符/纯点/控制字符 */
@@ -288,16 +284,16 @@ function validateBookName(name) {
288
284
  throw new HttpError(400, "VALIDATION_ERROR", "缺少书名字段 name");
289
285
  }
290
286
  // 与 client 同规则(Sidebar.tsx L3):"/"、"\"、纯点(. / ..)、控制字符一律拒绝——
291
- // name 直接拼 books/<name>/ 目录名,否则可逃出 books/(决策 17 防越权精神)
287
+ // name 直接拼 books/<name>/ 目录名,否则可逃出 books/( 防越权精神)
292
288
  if (/[\\/]|^\.+$|[\u0000-\u001f]/.test(name)) {
293
289
  throw new HttpError(400, "VALIDATION_ERROR", "书名不能包含 /、\\ 或为 . / ..");
294
290
  }
295
291
  }
296
- // 注:zip 解压(unzipWithBudget,含 zip 炸弹预算)、条目白名单、三文件顶层契约与
292
+ // 注:zip 解压(unzipWithBudget,含 zip 炸弹预算)、条目白名单、三文件顶层与
297
293
  // data.db user_version 三态校验已在 backup.ts 提取为 validateBackupPackage(restore 与
298
294
  // import 共用,import 校验顺序 3-7 语义);本文件只保留 import 专属的分流与搬入逻辑。
299
295
  /**
300
- * 按 project_id 在书架 books/ 下定位书目录(决策 27:唯一 key = project_id):
296
+ * 按 project_id 在书架 books/ 下定位书目录(唯一 key = project_id):
301
297
  * 遍历 books/ 下各书目录的 project.json 读 id 比对;无匹配返回 null。
302
298
  * 损坏的 project.json 抛错向上传播(与 list/open 语义一致:坏数据不静默吞)。
303
299
  */
@@ -321,7 +317,7 @@ function findBookDirById(root, id) {
321
317
  return null;
322
318
  }
323
319
  /**
324
- * 新书目标目录去重(决策 27,endpoints.md import 节):`books/<name>/` 已存在 →
320
+ * 新书目标目录去重( import 节):`books/<name>/` 已存在 →
325
321
  * `books/<name> (N)/`(N 为最小正整数,从 2 起,避免与去重命名惯例冲突);
326
322
  * 返回去重后的目录绝对路径。project.json 内部 name 由调用方同步为去重名
327
323
  * (「目录名 = 书名」不变式)。
@@ -334,20 +330,20 @@ function uniqueBookDir(root, name) {
334
330
  }
335
331
  return candidate;
336
332
  }
337
- // POST /api/v1/project/import —— 导入备份 zip 为新书(E2,release-review §二)
333
+ // POST /api/v1/project/import —— 导入备份 zip 为新书
338
334
  //
339
335
  // 流程(全部校验通过才搬入,校验失败不触碰 books/):
340
- // content-length 预检(>50MB 快速拒绝,防超大请求先缓冲)→ multipart 解析
341
- // (file=zip + name=书名)→ 书名校验(防路径逃逸)→ file.size 上限复核 →
342
- // fflate Unzip 流式解压(**解压总字节预算 200MB**——zip 炸弹防御;未知条目仅记名
343
- // 不解压;失败 400「不是有效的项目备份包」)→ **条目白名单**(只接受
344
- // PROJECT_EXPORT_FILE_NAMES 三文件名,非白名单条目即损坏/恶意包,严格拒绝——
345
- // 逐名比对天然防 zip 路径穿越)→ 三文件齐全 → project.json/outline.json 顶层契约
346
- // → data.db 校验(**大小 > 0 → 打开成功 → user_version === SCHEMA_VERSION**;
347
- // 0 字节/非 SQLite → 400 坏包;版本不匹配 409 SCHEMA_VERSION_MISMATCH 按相对版本
348
- // 分流文案,拒绝导入不静默重建——与 open 的删库重建语义刻意区分)→ 目标
349
- // books/<name>/ 冲突(409 PROJECT_ALREADY_EXISTS,与 create 同语义)→ mkdir + copy
350
- // 原子搬入(任一失败清理半成品目录)→ 不打开(与 create 一致,前端刷新书架)。
336
+ // content-length 预检(>50MB 快速拒绝,防超大请求先缓冲)→ multipart 解析
337
+ // (file=zip + name=书名)→ 书名校验(防路径逃逸)→ file.size 上限复核 →
338
+ // fflate Unzip 流式解压(**解压总字节预算 200MB**——zip 炸弹防御;未知条目仅记名
339
+ // 不解压;失败 400「不是有效的项目备份包」)→ **条目白名单**(只接受
340
+ // PROJECT_EXPORT_FILE_NAMES 三文件名,非白名单条目即损坏/恶意包,严格拒绝——
341
+ // 逐名比对天然防 zip 路径穿越)→ 三文件齐全 → project.json/outline.json 顶层
342
+ // → data.db 校验(**大小 > 0 → 打开成功 → user_version === SCHEMA_VERSION**;
343
+ // 0 字节/非 SQLite → 400 坏包;版本不匹配 409 SCHEMA_VERSION_MISMATCH 按相对版本
344
+ // 分流文案,拒绝导入不静默重建——与 open 的删库重建语义刻意区分)→ 目标
345
+ // books/<name>/ 冲突(409 PROJECT_ALREADY_EXISTS,与 create 同语义)→ mkdir + copy
346
+ // 原子搬入(任一失败清理半成品目录)→ 不打开(与 create 一致,前端刷新书架)。
351
347
  // 校验在 mkdtemp 临时目录完成(finally 清理);目标目录由服务端拼 books/<name>/,
352
348
  // 客户端不可指定路径(防越权)。
353
349
  projectRoutes.post("/import", async (c) => {
@@ -355,7 +351,7 @@ projectRoutes.post("/import", async (c) => {
355
351
  throw new HttpError(500, "INTERNAL_ERROR", "创作根未初始化(startServer 未调用 setProjectRoot)");
356
352
  }
357
353
  // 0. 上传大小预检(ora-4:parseBody 缓冲前先查 content-length,快速拒绝超大请求,
358
- // 避免先把几十上百 MB 读进内存;与 file.size 检查双保险——content-length 可缺失/不可信)
354
+ // 避免先把几十上百 MB 读进内存;与 file.size 检查双保险——content-length 可缺失/不可信)
359
355
  const contentLength = Number(c.req.header("content-length") ?? "0");
360
356
  if (contentLength > MAX_IMPORT_SIZE) {
361
357
  throw new HttpError(400, "VALIDATION_ERROR", `备份包超过大小上限(${MAX_IMPORT_SIZE / 1024 / 1024}MB)`);
@@ -372,10 +368,10 @@ projectRoutes.post("/import", async (c) => {
372
368
  throw new HttpError(400, "VALIDATION_ERROR", `备份包超过大小上限(${MAX_IMPORT_SIZE / 1024 / 1024}MB)`);
373
369
  }
374
370
  // 2-4. 备份包校验(validateBackupPackage,backup.ts 提取——restore 与 import 共用):
375
- // zip 解析(流式 + 200MB 预算,zip 炸弹防御)→ 条目白名单(防 zip 路径穿越)→
376
- // 三文件齐全 → 临时目录顶层契约(project.json/outline.json)→ data.db user_version
377
- // 三态分流(E4/E5,拒绝不静默重建)。通过返回内存 entries 与 project_id;
378
- // 失败抛 HttpError(400 坏包 / 409 SCHEMA_VERSION_MISMATCH),未触碰任何目标数据。
371
+ // zip 解析(流式 + 200MB 预算,zip 炸弹防御)→ 条目白名单(防 zip 路径穿越)→
372
+ // 三文件齐全 → 临时目录顶层(project.json/outline.json)→ data.db user_version
373
+ // 三态分流(拒绝不静默重建)。通过返回内存 entries 与 project_id;
374
+ // 失败抛 HttpError(400 坏包 / 409 SCHEMA_VERSION_MISMATCH),未触碰任何目标数据。
379
375
  let entries;
380
376
  let projectId;
381
377
  try {
@@ -388,19 +384,19 @@ projectRoutes.post("/import", async (c) => {
388
384
  throw err;
389
385
  throw new HttpError(400, "VALIDATION_ERROR", "不是有效的项目备份包(zip 解析失败)");
390
386
  }
391
- // 5. 分流(决策 27,endpoints.md import 节):id 匹配书架已有项目 → 覆盖恢复;
392
- // 不匹配 → 导入为新书(同名不再 409,目录自动去重)
387
+ // 5. 分流( import 节):id 匹配书架已有项目 → 覆盖恢复;
388
+ // 不匹配 → 导入为新书(同名不再 409,目录自动去重)
393
389
  const matchedDir = findBookDirById(projectRoot, projectId);
394
390
  if (matchedDir !== null) {
395
391
  // —— 覆盖恢复(restore 同款管道)——
396
392
  // 覆盖目标按 id 定位目录(不是按 name,请求体 name 在覆盖场景不生效);
397
393
  // 覆盖时 project.json 内 name 归一为当前目录名(「目录名 = 书名」不变式,
398
- // id 是身份、name 是展示名——契约修正 f4424b7);数据随备份替换。
394
+ // id 是身份、name 是展示名——修正 f4424b7);数据随备份替换。
399
395
  const cur = getCurrentProject();
400
396
  if (cur !== null && cur.root === matchedDir) {
401
397
  // 目标是当前打开的书:复用现有连接快照 + 覆盖管道(重连 data.db + 定时器重启)
402
398
  try {
403
- const snapshot = writeBackup(cur); // 覆盖前自动快照(后悔药,决策 27)
399
+ const snapshot = writeBackup(cur); // 覆盖前自动快照(后悔药)
404
400
  overwriteProjectFiles(cur, entries, { name: basename(matchedDir), snapshotFileName: snapshot.fileName });
405
401
  }
406
402
  catch (err) {
@@ -423,7 +419,7 @@ projectRoutes.post("/import", async (c) => {
423
419
  }
424
420
  return c.json(ok({ imported: true, id: projectId, path: matchedDir, name: basename(matchedDir), mode: "restored" }));
425
421
  }
426
- // —— 导入为新书(原 E2 语义;同名不再 409)——
422
+ // —— 导入为新书(原 同名不再 409)——
427
423
  // 目标目录 books/<name>/ 冲突 → 自动去重 books/<书名> (N)/(N 最小正整数,从 2 起);
428
424
  // project.json 内部 name 同步为去重名(维持「目录名 = 书名」不变式)
429
425
  const bookDir = uniqueBookDir(projectRoot, name);
@@ -441,12 +437,12 @@ projectRoutes.post("/import", async (c) => {
441
437
  // GET /api/v1/project/config —— 获取当前项目配置
442
438
  projectRoutes.get("/config", (c) => {
443
439
  const project = requireCurrentProject(); // 无当前项目 → 409 NO_PROJECT_OPEN
444
- // 读内存 config(open 时载入、PUT 同步更新;单进程下与盘一致,data-flow.md 第 46 行)
440
+ // 读内存 config(open 时载入、PUT 同步更新;单进程下与盘一致,)
445
441
  return c.json(ok(mapProjectFileToConfig(project.config)));
446
442
  });
447
443
  // PUT /api/v1/project/config —— 更新当前项目配置
448
- // 注:`prompt` 已废弃(决策 41)——strict schema 不再接受该字段(传入 → 400 VALIDATION_ERROR);
449
- // 项目规则改由 PUT /api/v1/project/agents 写入 AGENTS.md
444
+ // 注:`prompt` 已废弃——strict schema 不再接受该字段(传入 → 400 VALIDATION_ERROR);
445
+ // 项目规则改由 PUT /api/v1/project/agents 写入
450
446
  projectRoutes.put("/config", async (c) => {
451
447
  const project = requireCurrentProject();
452
448
  const raw = await c.req.json().catch(() => null);
@@ -455,7 +451,7 @@ projectRoutes.put("/config", async (c) => {
455
451
  throw parsed.error;
456
452
  }
457
453
  const { name, language, current_position, backup_frequency_minutes } = parsed.data;
458
- // current_position 校验:须指向存在的**非软删**大纲节点(endpoints.md 第 115 行);
454
+ // current_position 校验:须指向存在的**非软删**大纲节点();
459
455
  // 400 + OUTLINE_NODE_NOT_FOUND(参数语义错误用 400,非资源访问 404)
460
456
  if (current_position !== undefined && current_position !== null) {
461
457
  const tree = readOutlineFile(project.root);
@@ -464,8 +460,8 @@ projectRoutes.put("/config", async (c) => {
464
460
  throw new HttpError(400, "OUTLINE_NODE_NOT_FOUND", `current_position 指向的大纲节点不存在或已软删: ${current_position}`);
465
461
  }
466
462
  }
467
- // 合并更新 + 刷新 updated_at(时间 ISO 8601 应用层写入,schema.md 第 16 行),写盘并同步内存
468
- // backup_frequency_minutes 写侧「只写显式」(决策 27):未在 patch 中出现不写盘——
463
+ // 合并更新 + 刷新 updated_at(时间 ISO 8601 应用层写入,),写盘并同步内存
464
+ // backup_frequency_minutes 写侧「只写显式」:未在 patch 中出现不写盘——
469
465
  // 旧项目文件缺字段时不因无关更新被补写成缺省值(读侧兜底 10 不落盘,避免污染旧数据);
470
466
  // 显式 null = 关闭(写入 null);枚举值原样写入
471
467
  const next = {
@@ -480,13 +476,13 @@ projectRoutes.put("/config", async (c) => {
480
476
  project.config = next;
481
477
  return c.json(ok({ updated: true }));
482
478
  });
483
- // GET /api/v1/project/agents —— 读取项目规则文件 AGENTS.md(决策 41:项目规则唯一事实源)
479
+ // GET /api/v1/project/agents —— 读取项目规则文件 (项目规则唯一事实源)
484
480
  //
485
- // 语义(endpoints.md):
481
+ // 语义():
486
482
  // - 无当前项目 → 409 NO_PROJECT_OPEN(与 /config 一致)
487
- // - **文件不存在不报错**:AGENTS.md 是可选文件(新项目/未迁移项目可能没有),返回
488
- // exists:false + 空串,前端据此展示空编辑区
489
- // - updatedAt = 文件系统 mtime(ISO 8601)——外部修改检测依据(决策 41)
483
+ // - **文件不存在不报错**: 是可选文件(新项目/未迁移项目可能没有),返回
484
+ // exists:false + 空串,前端据此展示空编辑区
485
+ // - updatedAt = 文件系统 mtime(ISO 8601)——外部修改检测依据
490
486
  // - 读取为**每次实时读文件**(不缓存)——外部编辑立即可见
491
487
  projectRoutes.get("/agents", (c) => {
492
488
  const project = requireCurrentProject();
@@ -497,12 +493,12 @@ projectRoutes.get("/agents", (c) => {
497
493
  const updatedAt = agentsFileMtimeIso(project.root);
498
494
  return c.json(ok(projectAgentsGetResSchema.parse({ content, exists, updatedAt })));
499
495
  });
500
- // PUT /api/v1/project/agents —— 写入项目规则文件 AGENTS.md(决策 41:设置页直接编辑文件内容)
496
+ // PUT /api/v1/project/agents —— 写入项目规则文件 (设置页直接编辑文件内容)
501
497
  //
502
- // 语义(endpoints.md):
498
+ // 语义():
503
499
  // - 无当前项目 → 409 NO_PROJECT_OPEN
504
- // - **整体替换**(非追加):content 为 AGENTS.md 完整内容;空串 = 清空规则(保留空文件不删除)
505
- // - 文件不存在时自动创建;写入走**原子写**(临时文件 + fsync + rename,决策 11 同款)
500
+ // - **整体替换**(非追加):content 为 完整内容;空串 = 清空规则(保留空文件不删除)
501
+ // - 文件不存在时自动创建;写入走**原子写**(临时文件 + fsync + rename 同款)
506
502
  // - 写入后返回新 mtime,前端更新本地比对基线(外部修改检测用)
507
503
  // - 写入失败 → 500 INTERNAL_ERROR(errorHandler 兜底)
508
504
  projectRoutes.put("/agents", async (c) => {
@@ -516,7 +512,7 @@ projectRoutes.put("/agents", async (c) => {
516
512
  const updatedAt = agentsFileMtimeIso(project.root);
517
513
  return c.json(ok(projectAgentsPutResSchema.parse({ saved: true, updatedAt: updatedAt ?? nowIso() })));
518
514
  });
519
- // ============ 备份管理(B2.2,决策 27:endpoints.md「备份管理」节) ============
515
+ // ============ 备份管理(B2.2,「备份管理」节) ============
520
516
  //
521
517
  // 备份管道/保留策略/校验/恢复逻辑集中 backup.ts(与自动定时器同模块);
522
518
  // 本文件只挂端点:requireCurrentProject(无项目 → 409 NO_PROJECT_OPEN,与 /config 一致)。
@@ -526,9 +522,9 @@ projectRoutes.get("/backups", (c) => {
526
522
  return c.json(ok({ backups: listBackups(project) }));
527
523
  });
528
524
  // POST /api/v1/project/backup —— 立即备份(手动触发;同款管道 + 保留策略清理)
529
- // 决策 28:请求体可选 name(手动备份自定义名称,trim 后 1-30 字符;形状校验 zod schema,
525
+ // 请求体可选 name(手动备份自定义名称,trim 后 1-30 字符;形状校验 zod schema,
530
526
  // 名称规范化/权威校验收敛 sanitizeBackupName → writeBackup 唯一执行点)。
531
- // 决策 29:手动备份文件名落 kind 段 -m(无名称 <时间戳>-m.zip / 带名称 <时间戳>-m-<名称>.zip)
527
+ // 手动备份文件名落 kind 段 -m(无名称 <时间戳>-m.zip / 带名称 <时间戳>-m-<名称>.zip)
532
528
  projectRoutes.post("/backup", async (c) => {
533
529
  const project = requireCurrentProject();
534
530
  const raw = await c.req.json().catch(() => null);
@@ -539,9 +535,9 @@ projectRoutes.post("/backup", async (c) => {
539
535
  // kind 显式传 "manual":name undefined 时 writeBackup 内部不 sanitize、无名称段(落 -m 段)
540
536
  return c.json(ok({ backup: writeBackup(project, { name: parsed.data.name, kind: "manual" }) }));
541
537
  });
542
- // POST /api/v1/project/backup/rename —— 重命名备份(决策 29:只改名称段,时间戳与 kind 保持)
538
+ // POST /api/v1/project/backup/rename —— 重命名备份(只改名称段,时间戳与 kind 保持)
543
539
  //
544
- // 请求体(projectBackupRenameReqSchema,决策 29):
540
+ // 请求体(projectBackupRenameReqSchema):
545
541
  // - fileName 必填:.backups/ 下时间戳格式(parseBackupFileName 白名单校验 → 非法 400)
546
542
  // - name 可选:非空 → sanitizeBackupName 规范化(非法 400);空串/缺省 → 清除名称段
547
543
  // 语义:auto 备份重命名后仍落 -a-<名称> 段、manual 仍落 -m[-<名称>] 段(kind 不随重命名改变);
@@ -553,13 +549,13 @@ projectRoutes.post("/backup/rename", async (c) => {
553
549
  const parsed = await projectBackupRenameReqSchema.parseAsync(raw);
554
550
  return c.json(ok({ backup: renameBackup(project, parsed.fileName, parsed.name) }));
555
551
  });
556
- // POST /api/v1/project/backup/restore —— 从备份恢复当前项目(覆盖恢复,决策 27)
552
+ // POST /api/v1/project/backup/restore —— 从备份恢复当前项目(覆盖恢复)
557
553
  //
558
- // 流程(endpoints.md):
559
- // 1. fileName 白名单校验(仅 .backups/ 下时间戳格式——决策 28/29 兼容毫秒级/带 kind 段/旧带名称/旧秒级,
560
- // 防路径穿越)→ 非法 400
554
+ // 流程():
555
+ // 1. fileName 白名单校验(仅 .backups/ 下时间戳格式—— 兼容毫秒级/带 kind 段/旧带名称/旧秒级,
556
+ // 防路径穿越)→ 非法 400
561
557
  // 2. 覆盖前自动快照(复用备份管道,参与保留策略——后悔药)→ 备份不存在 404
562
- // 3. 备份包校验(zip/白名单/契约/user_version 三态,E4/E5)→ 400/409 零触碰
558
+ // 3. 备份包校验(zip/白名单//user_version 三态)→ 400/409 零触碰
563
559
  // 4. 原子替换三文件 + 重连 data.db + 同步内存 config + 重启定时器(restoreBackup)
564
560
  projectRoutes.post("/backup/restore", async (c) => {
565
561
  const project = requireCurrentProject();
@@ -582,16 +578,16 @@ projectRoutes.post("/backup/restore", async (c) => {
582
578
  throw err;
583
579
  }
584
580
  });
585
- // POST /api/v1/project/rename —— 重命名当前书籍(决策 27:同名并存场景的区分配套;
586
- // 契约修正 f4424b7:仅当前打开项目,与导出按钮一致)
581
+ // POST /api/v1/project/rename —— 重命名当前书籍(同名并存场景的区分配套;
582
+ // 修正 f4424b7:仅当前打开项目,与导出按钮一致)
587
583
  //
588
- // 流程(endpoints.md):
584
+ // 流程():
589
585
  // 1. 校验新名(同创建规则:禁路径分隔符/纯点/控制字符 → 400 VALIDATION_ERROR)
590
586
  // 2. 目标 books/<新名>/ 已存在且非当前书自身目录 → 409 PROJECT_ALREADY_EXISTS
591
587
  // 3. 原子移动:先更新 project.json 内 name(原目录原子写)→ renameSync 移动目录;
592
- // 移动失败 → 还原 name(回滚,不留下半成品);.backups/ 随目录移动自然携带
588
+ // 移动失败 → 还原 name(回滚,不留下半成品);.backups/ 随目录移动自然携带
593
589
  // 4. 引用同步:project.root 指向新目录(定时器持有同一 project 引用,tick 内按
594
- // project.root 计算路径,自动跟随);会话/历史按 id 不受影响(决策 18/27)
590
+ // project.root 计算路径,自动跟随);会话/历史按 id 不受影响
595
591
  projectRoutes.post("/rename", async (c) => {
596
592
  const project = requireCurrentProject(); // 无当前项目 → 409 NO_PROJECT_OPEN
597
593
  if (projectRoot === null) {
@@ -616,7 +612,7 @@ projectRoutes.post("/rename", async (c) => {
616
612
  if (existsSync(targetDir)) {
617
613
  throw new HttpError(409, "PROJECT_ALREADY_EXISTS", `书架已存在同名书: ${name}`);
618
614
  }
619
- // 原子移动(决策 27):先写新 name 到原目录 → rename 移动目录;移动失败还原 name
615
+ // 原子移动:先写新 name 到原目录 → rename 移动目录;移动失败还原 name
620
616
  const oldName = project.config.name;
621
617
  const written = { ...project.config, name, updated_at: nowIso() };
622
618
  writeProjectFile(oldDir, written);
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/routes/project.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,4FAA4F;AAC5F,4BAA4B;AAC5B,EAAE;AACF,iEAAiE;AACjE,kFAAkF;AAClF,uDAAuD;AACvD,WAAW;AACX,yEAAyE;AACzE,6EAA6E;AAC7E,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,GAEP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAiC,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AACzN,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,2CAA2C;AAC3C,EAAE;AACF,gEAAgE;AAChE,6EAA6E;AAC7E,0DAA0D;AAC1D,mDAAmD;AAEnD,yDAAyD;AACzD,IAAI,WAAW,GAAkB,IAAI,CAAC;AAEtC,oDAAoD;AACpD,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,sBAAsB,EAAE,eAAe,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,sBAAsB,EAAE,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;AAExC,oDAAoD;AACpD,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;IAC5E,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,iDAAiD;IACvE,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAE9C,yDAAyD;IACzD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,sBAAsB,EAAE,WAAW,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAExC,iEAAiE;IACjE,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,wBAAwB,EAAE,sCAAsC,GAAG,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,+EAA+E;IAC/E,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEzC,yDAAyD;IACzD,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,CAAC;QACD,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QACrB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,IAAa;KACvB,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mEAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;IAEtE,8CAA8C;IAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,sBAAsB,EAAE,6BAA6B,GAAG,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,yCAAyC;IACzC,sEAAsE;IACtE,mEAAmE;IACnE,8CAA8C;IAC9C,wEAAwE;IACxE,iEAAiE;IACjE,gDAAgD;IAChD,uDAAuD;IACvD,gEAAgE;IAChE,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,QAAY,CAAC;QACjB,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,sBAAsB,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACpD,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sEAAsE;YACtE,oCAAoC;YACpC,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,iDAAiD;QACjD,oBAAoB;QACpB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,OAAO,GAAmB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;QACpE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,iEAAiE;QACjE,qDAAqD;QACrD,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,kDAAkD;QAClD,yCAAyC;QACzC,sBAAsB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAErD,2EAA2E;QAC3E,4EAA4E;QAC5E,kEAAkE;QAClE,qDAAqD;QACrD,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,CAAC;YACD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qDAAqD;QACrD,2DAA2D;QAC3D,wEAAwE;QACxE,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACnC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,yEAAyE;AACzE,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/B,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,yCAAyC,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACnD,uCAAuC;IACvC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,YAAY,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,uEAAuE;IACvE,uBAAuB;IACvB,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC9F,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAA0D,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QAClF,mCAAmC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,CAAU,EAAE,MAA6F;IAC7H,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,gBAAgB,EAChB,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,8CAA8C;IAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,qEAAqE;AACrE,EAAE;AACF,8DAA8D;AAC9D,6EAA6E;AAC7E,oDAAoD;AACpD,6DAA6D;AAC7D,2CAA2C;AAC3C,oEAAoE;AACpE,4CAA4C;AAC5C,0BAA0B;AAC1B,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzB,4CAA4C;IAC5C,KAAK,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzC,uEAAuE;IACvE,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IAC9C,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,MAAM,CAAC,qBAAqB,EAAE,qDAAqD,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrH,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,oDAAoD;AAEpD,sDAAsD;AACtD,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,oDAAoD;AACpD,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;IACD,6DAA6D;IAC7D,uDAAuD;IACvD,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,4EAA4E;AAC5E,0DAA0D;AAE1D;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,EAAU;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC5C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAClC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO,GAAG,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,oEAAoE;AACpE,EAAE;AACF,gCAAgC;AAChC,yDAAyD;AACzD,wDAAwD;AACxD,0DAA0D;AAC1D,2CAA2C;AAC3C,wDAAwD;AACxD,8DAA8D;AAC9D,sEAAsE;AACtE,mEAAmE;AACnE,4CAA4C;AAC5C,4EAA4E;AAC5E,gDAAgD;AAChD,0DAA0D;AAC1D,kBAAkB;AAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,yCAAyC,CAAC,CAAC;IACxF,CAAC;IAED,2DAA2D;IAC3D,iEAAiE;IACjE,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;IACpE,IAAI,aAAa,GAAG,eAAe,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,eAAe,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC;IAChG,CAAC;IAED,wEAAwE;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;IACxB,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,eAAe,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC;IAChG,CAAC;IAED,uEAAuE;IACvE,0DAA0D;IAC1D,yEAAyE;IACzE,wDAAwD;IACxD,sEAAsE;IACtE,IAAI,OAAmC,CAAC;IACxC,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC5B,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,SAAS;YAAE,MAAM,GAAG,CAAC;QACxC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,yDAAyD;IACzD,kCAAkC;IAClC,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,0BAA0B;QAC1B,6CAA6C;QAC7C,kDAAkD;QAClD,2CAA2C;QAC3C,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;QAChC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5C,gDAAgD;YAChD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;gBACxD,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3G,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sDAAsD;gBACtD,wDAAwD;gBACxD,IAAI,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;oBAClE,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YACxD,2BAA2B,CAAC,UAAU,EAAE,OAAO,EAAE;gBAC/C,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC;gBAC1B,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;aACpC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAa,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC,CAAC,CAAC;IACzI,CAAC;IAED,+BAA+B;IAC/B,+DAA+D;IAC/D,+CAA+C;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,qCAAqC;QACrC,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAC5D,MAAM,GAAG,CAAC,CAAC,oCAAoC;IACjD,CAAC;IAED,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAa,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,CAAC,CAAC,CAAC;AAC9H,CAAC,CAAC,CAAC;AAEH,yCAAyC;AACzC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC,CAAC,8BAA8B;IACvE,6DAA6D;IAC7D,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,yCAAyC;AACzC,2EAA2E;AAC3E,iDAAiD;AACjD,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,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,4BAA4B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAEnF,+DAA+D;IAC/D,sDAAsD;IACtD,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,wBAAwB,EACxB,oCAAoC,gBAAgB,EAAE,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,6DAA6D;IAC7D,+CAA+C;IAC/C,gCAAgC;IAChC,MAAM,IAAI,GAAsB;QAC9B,GAAG,OAAO,CAAC,MAAM;QACjB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,UAAU,EAAE,MAAM,EAAE;KACrB,CAAC;IACF,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEtB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,EAAE;AACF,oBAAoB;AACpB,8CAA8C;AAC9C,mDAAmD;AACnD,iCAAiC;AACjC,sDAAsD;AACtD,kCAAkC;AAClC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,sDAAsD;IACtD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,WAAW,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,6BAA6B;IAClE,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,sEAAsE;AACtE,EAAE;AACF,oBAAoB;AACpB,gCAAgC;AAChC,+DAA+D;AAC/D,0DAA0D;AAC1D,qCAAqC;AACrC,+CAA+C;AAC/C,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,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,yBAAyB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,iDAAiD;IACvE,CAAC;IACD,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAa,EAAE,SAAS,EAAE,SAAS,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC;AAEH,iEAAiE;AACjE,EAAE;AACF,4CAA4C;AAC5C,yEAAyE;AAEzE,mEAAmE;AACnE,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,0DAA0D;AAC1D,6DAA6D;AAC7D,wDAAwD;AACxD,mEAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxC,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,sBAAsB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,YAAY,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,2EAA2E;IAC3E,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC,CAAC,CAAC;AAEH,wEAAwE;AACxE,EAAE;AACF,2CAA2C;AAC3C,qEAAqE;AACrE,8DAA8D;AAC9D,kEAAkE;AAClE,6CAA6C;AAC7C,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC,CAAC,4CAA4C;IACrF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,6FAA6F;IAC7F,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,EAAE;AACF,oBAAoB;AACpB,0EAA0E;AAC1E,oBAAoB;AACpB,4CAA4C;AAC5C,0DAA0D;AAC1D,+DAA+D;AAC/D,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChD,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,QAAQ,GACZ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAQ,GAA+B,CAAC,QAAQ,KAAK,QAAQ;QACtG,CAAC,CAAG,GAA+B,CAAC,QAAmB;QACvD,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAa,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4DAA4D;QAC5D,wDAAwD;QACxD,IAAI,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAClE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,4DAA4D;AAC5D,gCAAgC;AAChC,EAAE;AACF,oBAAoB;AACpB,uDAAuD;AACvD,8DAA8D;AAC9D,4DAA4D;AAC5D,mDAAmD;AACnD,wDAAwD;AACxD,sDAAsD;AACtD,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC,CAAC,8BAA8B;IACvE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,yCAAyC,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAQ,GAA+B,CAAC,IAAI,KAAK,QAAQ;QAClG,CAAC,CAAG,GAA+B,CAAC,IAAe,CAAC,IAAI,EAAE;QAC1D,CAAC,CAAC,EAAE,CAAC;IACT,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAExC,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,mCAAmC;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,wBAAwB,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,sDAAsD;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IAClE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0CAA0C;QAC1C,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,CAAC,CAAC,oCAAoC;IACjD,CAAC;IAED,gDAAgD;IAChD,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IACzB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;IACzB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/routes/project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/routes/proposal.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,0CAA0C;AAC1C,eAAO,MAAM,cAAc,4EAAa,CAAC"}
1
+ {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/routes/proposal.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,0CAA0C;AAC1C,eAAO,MAAM,cAAc,4EAAa,CAAC"}