@fgbg/mdocs 1.3.27 → 1.3.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.
- package/README.md +1 -1
- package/agent-skills/changelog/SKILL.md +18 -1
- package/agent-skills/getting-started-installation/SKILL.md +1 -1
- package/dist/server/agent/Agent/session-manager.js +116 -8
- package/dist/server/agent/Agent/session-manager.js.map +1 -1
- package/dist/server/agent/Agent/session-manager.pin-rename.test.js +75 -0
- package/dist/server/agent/Agent/session-manager.pin-rename.test.js.map +1 -0
- package/dist/server/app.js +41 -2
- package/dist/server/app.js.map +1 -1
- package/dist/server/cli/self-update.js +18 -7
- package/dist/server/cli/self-update.js.map +1 -1
- package/dist/server/routes/agent.routes.js +62 -2
- package/dist/server/routes/agent.routes.js.map +1 -1
- package/dist/web/assets/AgentChatPanel-BD1oyUQ2.js +42 -0
- package/dist/web/assets/AiWriteWorkbench-B0r87dOu.js +7 -0
- package/dist/web/assets/{DiagramEditor-NtNY3sZL-CyddeNUo.js → DiagramEditor-NtNY3sZL-zENSuUSW.js} +1 -1
- package/dist/web/assets/{DocChrome-C5syeHbQ.js → DocChrome-B-5PeA3Z.js} +1 -1
- package/dist/web/assets/{DocumentEditor-mG7hvAWj.js → DocumentEditor-CeH1smor.js} +1 -1
- package/dist/web/assets/{HtmlEditor-DABDor1R.js → HtmlEditor-DEwBOS1N.js} +1 -1
- package/dist/web/assets/{MergeView-BczHMfos.js → MergeView-Bzk9R2GH.js} +1 -1
- package/dist/web/assets/{PlaygroundPage-zg5tjWQs.js → PlaygroundPage-Bmq4l_R3.js} +1 -1
- package/dist/web/assets/{SettingsPage-BU0is_e7.js → SettingsPage-B3-GANlD.js} +1 -1
- package/dist/web/assets/{SheetEditor-4nXVP3NN.js → SheetEditor-DYVKW2RD.js} +1 -1
- package/dist/web/assets/{Toolbar-xB4u1mY1.js → Toolbar-SoiYp0SC.js} +1 -1
- package/dist/web/assets/{VisitorPickerModal-Djpm5bTf.js → VisitorPickerModal-BTmTrqrT.js} +1 -1
- package/dist/web/assets/{check--tqH9AMO.js → check-CnsclxvV.js} +1 -1
- package/dist/web/assets/copy-CI3NmTJZ.js +11 -0
- package/dist/web/assets/{docPlainCharCount-CTaZfi-M.js → docPlainCharCount-C7aeeOM1.js} +1 -1
- package/dist/web/assets/index-CSZ-Z1RJ.css +1 -0
- package/dist/web/assets/{index-CINfyH_g.js → index-DNb6Q69l.js} +14 -14
- package/dist/web/assets/{italic-phhei7W3.js → italic-BljxX8Uj.js} +1 -1
- package/dist/web/assets/{meta2dEngine-BD2XbzaV-BDjANcdr.js → meta2dEngine-BD2XbzaV-BuKVYpuY.js} +1 -1
- package/dist/web/assets/{plus-BxZJ-Mya.js → plus-BAqdJ6N2.js} +1 -1
- package/dist/web/assets/{react-8gAAnUbI.js → react-C7YGEhUS.js} +129 -134
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/AgentChatPanel-TJVgAwlH.js +0 -22
- package/dist/web/assets/AgentSkillFormCard-3ZpgH1RY.js +0 -11
- package/dist/web/assets/AiWriteWorkbench-B9HrhEmd.js +0 -7
- package/dist/web/assets/copy-5mwMd6zK.js +0 -6
- package/dist/web/assets/index-DCgILSIv.css +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
面向个人开发者与小团队:产品内 **智能助手 + 帮写**,外部 **CLI / Skills** 接入 Cursor / Claude;SQLite + 本地文件,**无账户**即可协作。
|
|
6
6
|
|
|
7
|
-
[文档站点](https://xuhuafeifei.github.io/mdocs-site/) · [GitHub](https://github.com/xuhuafeifei/mdocs) · [npm `@fgbg/mdocs`](https://www.npmjs.com/package/@fgbg/mdocs) · 当前版本 **1.3.
|
|
7
|
+
[文档站点](https://xuhuafeifei.github.io/mdocs-site/) · [GitHub](https://github.com/xuhuafeifei/mdocs) · [npm `@fgbg/mdocs`](https://www.npmjs.com/package/@fgbg/mdocs) · 当前版本 **1.3.29**
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<img src="image/site主页.png" alt="mdocs 文档站点首页" width="860" />
|
|
@@ -10,10 +10,27 @@ source: changelog.md
|
|
|
10
10
|
|
|
11
11
|
现行文档里,产品概念「域」已改称 **工作空间**。下面各版本仍按当时的叫法记录。
|
|
12
12
|
|
|
13
|
+
## v1.3.29
|
|
14
|
+
|
|
15
|
+
### 智能助手 / 会话
|
|
16
|
+
- **会话工作空间**:新建会话记录 `domainId`;历史按工作空间折叠;旧会话懒迁移到 `default`
|
|
17
|
+
- **Pinned / 重命名**:置顶为额外入口(原工作空间分组仍保留);支持手动改名
|
|
18
|
+
- **思考条**:`思考 Ns ›` 折叠样式;思考中文字渐变;智能助手与帮写共用
|
|
19
|
+
- **对话面板复用**:帮写左栏嵌同一套 `AgentChatPanel`(`mode=coding`),右侧仍为 diff
|
|
20
|
+
|
|
21
|
+
### 其它
|
|
22
|
+
- 工作空间下拉支持输入过滤
|
|
23
|
+
- 静态资源强制正确 `Content-Type`(避免 `.js` 被标成 `octet-stream`)
|
|
24
|
+
|
|
25
|
+
## v1.3.28
|
|
26
|
+
|
|
27
|
+
### 升级与原生模块
|
|
28
|
+
- **`mdocs update`**:原生模块改为**探测后再 rebuild**——`require('better-sqlite3')` 成功则跳过;仅绑定缺失/损坏时才编译。依赖安装仍是保留 `node_modules` 的增量同步
|
|
29
|
+
|
|
13
30
|
## v1.3.27
|
|
14
31
|
|
|
15
32
|
### 升级与原生模块
|
|
16
|
-
- **`mdocs update
|
|
33
|
+
- **`mdocs update`**:升级后检测并必要时 `npm rebuild better-sqlite3`(及已安装的 `node-llama-cpp`),避免保留「有包无 `.node`」导致启动报 `Could not locate the bindings file`
|
|
17
34
|
- **CLI**:`version` / `update` 不再预加载服务端 DB,sqlite 半残时仍可跑 `mdocs update` 自救
|
|
18
35
|
|
|
19
36
|
## v1.3.26
|
|
@@ -202,7 +202,7 @@ npm install typebox@1.1.38 --no-audit --no-fund
|
|
|
202
202
|
mdocs update
|
|
203
203
|
```
|
|
204
204
|
|
|
205
|
-
该命令写死从淘宝镜像 [`https://registry.npmmirror.com`](https://registry.npmmirror.com) 拉取最新 `@fgbg/mdocs`,**保留现有 `node_modules`**,再用 `npm install`
|
|
205
|
+
该命令写死从淘宝镜像 [`https://registry.npmmirror.com`](https://registry.npmmirror.com) 拉取最新 `@fgbg/mdocs`,**保留现有 `node_modules`**,再用 `npm install` 做差量依赖同步;仅当 `better-sqlite3` 等原生绑定加载失败时才 `npm rebuild`(正常升级不会每次重编)。升级后重启服务即可。
|
|
206
206
|
|
|
207
207
|
若启动报 `Could not locate the bindings file`(`better-sqlite3`),在包目录重建即可:
|
|
208
208
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { DEFAULT_DOMAIN_ID } from "../../../shared/domainUi.js";
|
|
4
5
|
import { getConfig } from "../../config/index.js";
|
|
5
6
|
import { atomicWriteJson, withSessionMetaLock } from "./session-meta-lock.js";
|
|
6
7
|
const SESSION_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
@@ -265,15 +266,34 @@ export class AgentSessionManager {
|
|
|
265
266
|
title: patch?.title,
|
|
266
267
|
updatedAt: now,
|
|
267
268
|
documentId: patch?.documentId !== undefined ? patch.documentId : undefined,
|
|
269
|
+
domainId: patch?.domainId !== undefined ? patch.domainId : undefined,
|
|
270
|
+
pinned: patch?.pinned === true ? true : undefined,
|
|
271
|
+
pinnedAt: patch?.pinned === true
|
|
272
|
+
? patch.pinnedAt ?? now
|
|
273
|
+
: patch?.pinnedAt !== undefined
|
|
274
|
+
? patch.pinnedAt ?? undefined
|
|
275
|
+
: undefined,
|
|
268
276
|
});
|
|
269
277
|
return;
|
|
270
278
|
}
|
|
271
279
|
const cur = meta.sessions[idx];
|
|
280
|
+
let pinned = cur.pinned;
|
|
281
|
+
let pinnedAt = cur.pinnedAt;
|
|
282
|
+
if (patch?.pinned !== undefined) {
|
|
283
|
+
pinned = patch.pinned ? true : undefined;
|
|
284
|
+
pinnedAt = patch.pinned ? (patch.pinnedAt ?? now) : undefined;
|
|
285
|
+
}
|
|
286
|
+
else if (patch?.pinnedAt !== undefined) {
|
|
287
|
+
pinnedAt = patch.pinnedAt ?? undefined;
|
|
288
|
+
}
|
|
272
289
|
meta.sessions[idx] = {
|
|
273
290
|
...cur,
|
|
274
291
|
title: patch?.title !== undefined ? patch.title : cur.title,
|
|
275
292
|
updatedAt: patch?.touchUpdatedAt === false ? cur.updatedAt ?? now : now,
|
|
276
293
|
documentId: patch?.documentId !== undefined ? patch.documentId : cur.documentId,
|
|
294
|
+
domainId: patch?.domainId !== undefined ? patch.domainId : cur.domainId,
|
|
295
|
+
pinned,
|
|
296
|
+
pinnedAt,
|
|
277
297
|
};
|
|
278
298
|
}
|
|
279
299
|
setLastOpenedForDoc(meta, documentId, sessionId) {
|
|
@@ -286,14 +306,27 @@ export class AgentSessionManager {
|
|
|
286
306
|
};
|
|
287
307
|
}
|
|
288
308
|
sortSummaries(sessions) {
|
|
289
|
-
|
|
290
|
-
.map((s) => ({
|
|
309
|
+
const mapped = sessions.map((s) => ({
|
|
291
310
|
id: s.id,
|
|
292
311
|
title: s.title?.trim() || "新会话",
|
|
293
312
|
updatedAt: s.updatedAt ?? nowIso(),
|
|
294
313
|
documentId: s.documentId ?? null,
|
|
295
|
-
|
|
296
|
-
|
|
314
|
+
domainId: s.domainId ?? null,
|
|
315
|
+
pinned: s.pinned === true,
|
|
316
|
+
pinnedAt: s.pinnedAt,
|
|
317
|
+
}));
|
|
318
|
+
mapped.sort((a, b) => {
|
|
319
|
+
if (a.pinned !== b.pinned)
|
|
320
|
+
return a.pinned ? -1 : 1;
|
|
321
|
+
if (a.pinned && b.pinned) {
|
|
322
|
+
const pa = a.pinnedAt ?? a.updatedAt;
|
|
323
|
+
const pb = b.pinnedAt ?? b.updatedAt;
|
|
324
|
+
if (pa !== pb)
|
|
325
|
+
return pa < pb ? 1 : -1;
|
|
326
|
+
}
|
|
327
|
+
return a.updatedAt < b.updatedAt ? 1 : a.updatedAt > b.updatedAt ? -1 : 0;
|
|
328
|
+
});
|
|
329
|
+
return mapped.map(({ pinnedAt: _p, ...rest }) => rest);
|
|
297
330
|
}
|
|
298
331
|
filterByDocument(sessions, documentId) {
|
|
299
332
|
if (this.kind !== "coding")
|
|
@@ -385,11 +418,26 @@ export class AgentSessionManager {
|
|
|
385
418
|
return this.cachedSessionId;
|
|
386
419
|
return this.runSerialized(() => this.ensureLastOpenedUnlocked(documentId));
|
|
387
420
|
}
|
|
421
|
+
/** 旧条目无 domainId → 归入 default 工作空间,有改动则写回 */
|
|
422
|
+
backfillDefaultDomain(meta) {
|
|
423
|
+
let changed = false;
|
|
424
|
+
for (const s of meta.sessions) {
|
|
425
|
+
const id = typeof s.domainId === "string" ? s.domainId.trim() : "";
|
|
426
|
+
if (!id) {
|
|
427
|
+
s.domainId = DEFAULT_DOMAIN_ID;
|
|
428
|
+
changed = true;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
return changed;
|
|
432
|
+
}
|
|
388
433
|
async listSessions(documentId) {
|
|
389
434
|
await this.ensureSessionDir();
|
|
390
435
|
return this.runSerialized(async () => {
|
|
391
436
|
const lastOpenedSessionId = await this.ensureLastOpenedUnlocked(documentId);
|
|
392
|
-
|
|
437
|
+
let meta = await this.readMeta();
|
|
438
|
+
if (meta && this.backfillDefaultDomain(meta)) {
|
|
439
|
+
await this.writeMeta(meta);
|
|
440
|
+
}
|
|
393
441
|
const scoped = this.filterByDocument(meta?.sessions ?? [], documentId);
|
|
394
442
|
return {
|
|
395
443
|
lastOpenedSessionId,
|
|
@@ -405,14 +453,17 @@ export class AgentSessionManager {
|
|
|
405
453
|
});
|
|
406
454
|
}
|
|
407
455
|
/** 新建空会话并设为该文档(或空白桶)的 lastOpened */
|
|
408
|
-
async createSession(
|
|
456
|
+
async createSession(opts) {
|
|
409
457
|
await this.ensureSessionDir();
|
|
410
458
|
const sessionId = randomUUID();
|
|
459
|
+
const documentId = opts?.documentId;
|
|
411
460
|
const doc = this.kind === "coding"
|
|
412
461
|
? documentId?.trim()
|
|
413
462
|
? documentId.trim()
|
|
414
463
|
: null
|
|
415
464
|
: undefined;
|
|
465
|
+
const domainRaw = typeof opts?.domainId === "string" ? opts.domainId.trim() : "";
|
|
466
|
+
const domainId = domainRaw || DEFAULT_DOMAIN_ID;
|
|
416
467
|
return this.runSerialized(async () => {
|
|
417
468
|
await this.mutateMetaUnlocked((meta) => {
|
|
418
469
|
meta.lastOpenedSessionId = sessionId;
|
|
@@ -420,6 +471,7 @@ export class AgentSessionManager {
|
|
|
420
471
|
title: "新会话",
|
|
421
472
|
touchUpdatedAt: true,
|
|
422
473
|
documentId: doc,
|
|
474
|
+
domainId,
|
|
423
475
|
});
|
|
424
476
|
if (this.kind === "coding") {
|
|
425
477
|
this.setLastOpenedForDoc(meta, documentId, sessionId);
|
|
@@ -429,6 +481,53 @@ export class AgentSessionManager {
|
|
|
429
481
|
return { sessionId, messages: [] };
|
|
430
482
|
});
|
|
431
483
|
}
|
|
484
|
+
/** 手动改标题;不 touch updatedAt */
|
|
485
|
+
async renameSession(sessionId, title) {
|
|
486
|
+
if (!isSessionId(sessionId))
|
|
487
|
+
throw new Error("invalid_session_id");
|
|
488
|
+
const next = title.trim();
|
|
489
|
+
if (!next)
|
|
490
|
+
throw new Error("title_required");
|
|
491
|
+
if (next.length > 80)
|
|
492
|
+
throw new Error("title_too_long");
|
|
493
|
+
await this.ensureSessionDir();
|
|
494
|
+
return this.runSerialized(async () => {
|
|
495
|
+
await this.mutateMetaUnlocked((meta) => {
|
|
496
|
+
const entry = meta.sessions.find((s) => s.id === sessionId);
|
|
497
|
+
if (!entry && !fs.existsSync(this.jsonlPath(sessionId))) {
|
|
498
|
+
throw new Error("session_not_found");
|
|
499
|
+
}
|
|
500
|
+
this.ensureSessionEntry(meta, sessionId, {
|
|
501
|
+
title: next,
|
|
502
|
+
touchUpdatedAt: false,
|
|
503
|
+
});
|
|
504
|
+
});
|
|
505
|
+
const meta = await this.readMeta();
|
|
506
|
+
const entry = meta?.sessions.find((s) => s.id === sessionId);
|
|
507
|
+
return this.sortSummaries([entry])[0];
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
/** 置顶 / 取消;不 touch updatedAt */
|
|
511
|
+
async setSessionPinned(sessionId, pinned) {
|
|
512
|
+
if (!isSessionId(sessionId))
|
|
513
|
+
throw new Error("invalid_session_id");
|
|
514
|
+
await this.ensureSessionDir();
|
|
515
|
+
return this.runSerialized(async () => {
|
|
516
|
+
await this.mutateMetaUnlocked((meta) => {
|
|
517
|
+
const entry = meta.sessions.find((s) => s.id === sessionId);
|
|
518
|
+
if (!entry && !fs.existsSync(this.jsonlPath(sessionId))) {
|
|
519
|
+
throw new Error("session_not_found");
|
|
520
|
+
}
|
|
521
|
+
this.ensureSessionEntry(meta, sessionId, {
|
|
522
|
+
pinned,
|
|
523
|
+
touchUpdatedAt: false,
|
|
524
|
+
});
|
|
525
|
+
});
|
|
526
|
+
const meta = await this.readMeta();
|
|
527
|
+
const entry = meta?.sessions.find((s) => s.id === sessionId);
|
|
528
|
+
return this.sortSummaries([entry])[0];
|
|
529
|
+
});
|
|
530
|
+
}
|
|
432
531
|
/** 切换 lastOpened;coding 时可校验属于同一 documentId */
|
|
433
532
|
async openSession(sessionId, documentId) {
|
|
434
533
|
if (!isSessionId(sessionId))
|
|
@@ -540,8 +639,17 @@ export async function getAgentSessionForApi(visitorId, kind = "normal", document
|
|
|
540
639
|
export async function listAgentSessionsForApi(visitorId, kind = "normal", documentId) {
|
|
541
640
|
return new AgentSessionManager(visitorId, { kind }).listSessions(kind === "coding" ? documentId : undefined);
|
|
542
641
|
}
|
|
543
|
-
export async function createAgentSessionForApi(visitorId, kind = "normal", documentId) {
|
|
544
|
-
return new AgentSessionManager(visitorId, { kind }).createSession(
|
|
642
|
+
export async function createAgentSessionForApi(visitorId, kind = "normal", documentId, domainId) {
|
|
643
|
+
return new AgentSessionManager(visitorId, { kind }).createSession({
|
|
644
|
+
documentId: kind === "coding" ? documentId : undefined,
|
|
645
|
+
domainId: domainId ?? null,
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
export async function renameAgentSessionForApi(visitorId, sessionId, title, kind = "normal") {
|
|
649
|
+
return new AgentSessionManager(visitorId, { kind }).renameSession(sessionId, title);
|
|
650
|
+
}
|
|
651
|
+
export async function pinAgentSessionForApi(visitorId, sessionId, pinned, kind = "normal") {
|
|
652
|
+
return new AgentSessionManager(visitorId, { kind }).setSessionPinned(sessionId, pinned);
|
|
545
653
|
}
|
|
546
654
|
export async function openAgentSessionForApi(visitorId, sessionId, kind = "normal", documentId) {
|
|
547
655
|
return new AgentSessionManager(visitorId, { kind }).openSession(sessionId, kind === "coding" ? documentId : undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAyC9E,MAAM,aAAa,GACjB,4EAA4E,CAAC;AAE/E,uCAAuC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC;AAEhD,SAAS,UAAU,CAAC,CAAU;IAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACpE,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,kBAAkB,CAAC,CAGlC;IACC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,UAAU,CAAC;IACjE,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,WAAW,CAAC,UAAqC;IAC/D,MAAM,EAAE,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,EAAE,IAAI,oBAAoB,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,OAAO,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,OAAO,mBAAmB;IAQX;IAPF,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,IAAI,CAAsB;IAEnC,eAAe,GAAkB,IAAI,CAAC;IAE9C,YACmB,SAAiB,EAClC,IAAqC;QADpB,cAAS,GAAT,SAAS,CAAQ;QAGlC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;IAEO,SAAS,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgC,CAAC;YAC9D,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACpE,IAAI,CAAC,mBAAmB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAC9C,CAAC,CAAC,MAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,oBAAoB,GACxB,MAAM,EAAE,oBAAoB,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;gBAC7E,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,WAAW,CAAC,EAAE,CAAC,CACtD,CACF;gBACH,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAK,GAAyB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAiB;QACvC,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAuB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACvC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,SAAiB;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1E,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACjB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAA0C,CAAC;oBACnE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjF,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0DAA0D;IAClD,KAAK,CAAC,mBAAmB,CAC/B,gBAAgC;QAEhC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,MAAM,GACV,gBAAgB,IAAI,WAAW,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC;YACjG,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAU,GAAG,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;QACpF,OAAO;YACL,mBAAmB,EAAE,MAAM;YAC3B,QAAQ,EAAE,OAAO;YACjB,oBAAoB,EAAE,EAAE;SACzB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,aAAa,CAAI,EAAoB;QAC3C,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,OAAoD;QAEpD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI;gBACF,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI;oBACpC,mBAAmB,EAAE,EAAE;oBACvB,QAAQ,EAAE,EAAE;oBACZ,oBAAoB,EAAE,EAAE;iBACzB,CAAC;QACN,CAAC;QACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,UAAU,EAAE,CAAC;YACtD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QAOlD,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,QAAQ,IAAI,EAAE;gBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK;wBAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBACvD,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;wBAAE,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3C,MAAM,UAAU,GACd,QAAQ,EAAE,mBAAmB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACrE,CAAC,CAAC,QAAQ,CAAC,mBAAmB;gBAC9B,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtF,EAAE,EAAE,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC;oBACtC,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM;iBACP,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAgB;gBACxB,mBAAmB,EAAE,UAAU;gBAC/B,QAAQ;gBACR,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB;aACrD,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;gBACL,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC;gBACtC,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,KAAK;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM;aACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CACxB,IAAiB,EACjB,SAAiB,EACjB,KAOC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,KAAK,EAAE,KAAK;gBACnB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC1E,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACpE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACjD,QAAQ,EACN,KAAK,EAAE,MAAM,KAAK,IAAI;oBACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG;oBACvB,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS;wBAC7B,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS;wBAC7B,CAAC,CAAC,SAAS;aAClB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAE,CAAC;QAChC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACxB,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACzC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,CAAC;aAAM,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG;YACnB,GAAG,GAAG;YACN,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;YAC3D,SAAS,EAAE,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG;YACvE,UAAU,EACR,KAAK,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU;YACrE,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ;YACvE,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,IAAiB,EACjB,UAAqC,EACrC,SAAiB;QAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QACnC,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG;YAC1B,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;YACpC,CAAC,GAAG,CAAC,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,QAA4B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK;YAC/B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,MAAM,EAAE;YAClC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;YAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI;YACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC;gBACrC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC;gBACrC,IAAI,EAAE,KAAK,EAAE;oBAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEO,gBAAgB,CACtB,QAA4B,EAC5B,UAAqC;QAErC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,SAAiB;QAC5C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,QAAQ,GAA0B,EAAE,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAK1B,CAAC;oBACF,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC1F,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrE,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,IAAI;wBAAE,SAAS;oBACxC,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAClD,MAAM,UAAU,GACd,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,QAAQ,CAAC,IAAI,CACX,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;wBACtC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;wBAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CACtB,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAK,GAAyB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpG,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,wCAAwC;IAChC,KAAK,CAAC,wBAAwB,CAAC,UAA0B;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/C,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAClE,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,UAAU,EAAE,CAAC;oBACpD,CAAC,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBAClC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,QAAQ,GACZ,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAEvE,IAAI,QAAQ,EAAE,CAAC;gBACb,CAAC,CAAC,mBAAmB,GAAG,MAAO,CAAC;gBAChC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,CAAC,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBAClC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAC/B,CAAC,CAAC,mBAAmB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE;gBACpC,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;aAC1D,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAA0B;QAC/C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAChF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,6CAA6C;IACrC,qBAAqB,CAAC,IAAiB;QAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAC;gBAC/B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAA0B;QAI3C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAC5E,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;YACvE,OAAO;gBACL,mBAAmB;gBACnB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;aACrC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,UAA0B;QAIrD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,aAAa,CAAC,IAGnB;QAIC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC;QACpC,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK,QAAQ;YACpB,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE;gBAClB,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE;gBACnB,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAG,SAAS,IAAI,iBAAiB,CAAC;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE;oBACvC,KAAK,EAAE,KAAK;oBACZ,cAAc,EAAE,IAAI;oBACpB,UAAU,EAAE,GAAG;oBACf,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,KAAa;QAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE;oBACvC,KAAK,EAAE,IAAI;oBACX,cAAc,EAAE,KAAK;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,MAAe;QAEf,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE;oBACvC,MAAM;oBACN,cAAc,EAAE,KAAK;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,WAAW,CACf,SAAiB,EACjB,UAA0B;QAK1B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAE9D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;gBAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;oBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBAC/D,IAAI,IAAI,KAAK,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAClE,CAAC;gBAED,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,KAAK,EAAE,UAAU,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACpF,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,SAAiB,EACjB,UAAkB;QAElB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAE9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE;oBACvC,UAAU,EAAE,GAAG;oBACf,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBACrC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC,oBAAoB,CAAC,KAAK,SAAS,EAAE,CAAC;oBACpE,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,SAAiB,EACjB,KAAiC;QAEjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC/D,MAAM,SAAS,GACb,KAAK,EAAE,YAAY;gBACnB,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE;gBACvC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAClD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,OAAe,EACf,UAAqB;QAErB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,UAAU;iBACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;QAC7E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YAClC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAC1B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,EAC1B,MAAM,CACP,CAAC;YACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE;gBAC5C,YAAY,EAAE,oBAAoB,CAAC,OAAO,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,OAAe;QACtD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YAClC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAC1B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACzB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,EACnE,MAAM,CACP,CAAC;YACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAID,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,OAAyB,QAAQ,EACjC,UAA0B;IAK1B,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CACxE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,OAAyB,QAAQ,EACjC,UAA0B;IAE1B,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAC9D,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,OAAyB,QAAQ,EACjC,UAA0B,EAC1B,QAAwB;IAExB,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC;QAChE,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACtD,QAAQ,EAAE,QAAQ,IAAI,IAAI;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,SAAiB,EACjB,KAAa,EACb,OAAyB,QAAQ;IAEjC,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,SAAiB,EACjB,MAAe,EACf,OAAyB,QAAQ;IAEjC,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,SAAiB,EACjB,OAAyB,QAAQ,EACjC,UAA0B;IAE1B,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAC7D,SAAS,EACT,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,SAAiB,EACjB,SAAiB,EACjB,UAAkB;IAElB,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,mBAAmB,CAC/E,SAAS,EACT,UAAU,CACX,CAAC;AACJ,CAAC;AAYD,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,MAInD;IACC,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,CAAC,QAAQ,CAAC;QACZ,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,CAAC,CAAC,CAAC,QAAQ,CAAC;YACZ,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7B,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI;YACJ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,MAIrD;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,UAAU,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,UAAU,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnE,IAAI,CAAC;oBACH,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChE,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CACN,GAAG,CAAC,MAAM,6BAA6B,CAAC;YACtC,SAAS;YACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { getConfig } from "../../config/index.js";
|
|
6
|
+
import { AgentSessionManager } from "./session-manager.js";
|
|
7
|
+
const cleanupDirs = [];
|
|
8
|
+
afterEach(() => {
|
|
9
|
+
for (const d of cleanupDirs.splice(0)) {
|
|
10
|
+
fs.rmSync(d, { recursive: true, force: true });
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
function tenantDir(visitorId) {
|
|
14
|
+
const root = path.join(getConfig().dataDir, "tenant", visitorId);
|
|
15
|
+
cleanupDirs.push(root);
|
|
16
|
+
return root;
|
|
17
|
+
}
|
|
18
|
+
describe("AgentSessionManager domain / rename / pin", () => {
|
|
19
|
+
it("createSession stores domainId; list puts pinned first", async () => {
|
|
20
|
+
const visitorId = randomUUID();
|
|
21
|
+
tenantDir(visitorId);
|
|
22
|
+
const mgr = new AgentSessionManager(visitorId, { kind: "normal" });
|
|
23
|
+
const a = await mgr.createSession({ domainId: "dom-a" });
|
|
24
|
+
const b = await mgr.createSession({ domainId: "dom-b" });
|
|
25
|
+
await mgr.renameSession(a.sessionId, "Alpha");
|
|
26
|
+
await mgr.setSessionPinned(a.sessionId, true);
|
|
27
|
+
const listed = await mgr.listSessions();
|
|
28
|
+
expect(listed.sessions[0]?.id).toBe(a.sessionId);
|
|
29
|
+
expect(listed.sessions[0]?.pinned).toBe(true);
|
|
30
|
+
expect(listed.sessions[0]?.title).toBe("Alpha");
|
|
31
|
+
expect(listed.sessions[0]?.domainId).toBe("dom-a");
|
|
32
|
+
expect(listed.sessions.find((s) => s.id === b.sessionId)?.domainId).toBe("dom-b");
|
|
33
|
+
});
|
|
34
|
+
it("rename does not change updatedAt; pin does not either", async () => {
|
|
35
|
+
const visitorId = randomUUID();
|
|
36
|
+
tenantDir(visitorId);
|
|
37
|
+
const mgr = new AgentSessionManager(visitorId, { kind: "normal" });
|
|
38
|
+
const { sessionId } = await mgr.createSession({ domainId: "d1" });
|
|
39
|
+
await mgr.appendUser(sessionId, "hello world");
|
|
40
|
+
const before = (await mgr.listSessions()).sessions.find((s) => s.id === sessionId);
|
|
41
|
+
await new Promise((r) => setTimeout(r, 20));
|
|
42
|
+
await mgr.renameSession(sessionId, "Manual title");
|
|
43
|
+
await mgr.setSessionPinned(sessionId, true);
|
|
44
|
+
const after = (await mgr.listSessions()).sessions.find((s) => s.id === sessionId);
|
|
45
|
+
expect(after.title).toBe("Manual title");
|
|
46
|
+
expect(after.pinned).toBe(true);
|
|
47
|
+
expect(after.updatedAt).toBe(before.updatedAt);
|
|
48
|
+
});
|
|
49
|
+
it("manual title is not overwritten by later appendUser auto-title", async () => {
|
|
50
|
+
const visitorId = randomUUID();
|
|
51
|
+
tenantDir(visitorId);
|
|
52
|
+
const mgr = new AgentSessionManager(visitorId, { kind: "normal" });
|
|
53
|
+
const { sessionId } = await mgr.createSession();
|
|
54
|
+
await mgr.renameSession(sessionId, "Kept name");
|
|
55
|
+
await mgr.appendUser(sessionId, "this should not become title");
|
|
56
|
+
const listed = await mgr.listSessions();
|
|
57
|
+
expect(listed.sessions.find((s) => s.id === sessionId)?.title).toBe("Kept name");
|
|
58
|
+
});
|
|
59
|
+
it("listSessions backfills missing domainId to default", async () => {
|
|
60
|
+
const visitorId = randomUUID();
|
|
61
|
+
const root = tenantDir(visitorId);
|
|
62
|
+
const mgr = new AgentSessionManager(visitorId, { kind: "normal" });
|
|
63
|
+
const { sessionId } = await mgr.createSession({ domainId: "default" });
|
|
64
|
+
const metaPath = path.join(root, "agent", "session", "session.json");
|
|
65
|
+
const raw = JSON.parse(fs.readFileSync(metaPath, "utf8"));
|
|
66
|
+
const entry = raw.sessions.find((s) => s.id === sessionId);
|
|
67
|
+
delete entry.domainId;
|
|
68
|
+
fs.writeFileSync(metaPath, JSON.stringify(raw));
|
|
69
|
+
const listed = await mgr.listSessions();
|
|
70
|
+
expect(listed.sessions.find((s) => s.id === sessionId)?.domainId).toBe("default");
|
|
71
|
+
const after = JSON.parse(fs.readFileSync(metaPath, "utf8"));
|
|
72
|
+
expect(after.sessions.find((s) => s.id === sessionId)?.domainId).toBe("default");
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=session-manager.pin-rename.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.pin-rename.test.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/session-manager.pin-rename.test.ts"],"names":[],"mappings":"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"}
|
package/dist/server/app.js
CHANGED
|
@@ -88,17 +88,28 @@ export function buildApp() {
|
|
|
88
88
|
// 若前端构建产物存在,则提供静态文件服务与单页应用回退
|
|
89
89
|
if (fs.existsSync(cfg.webDistDir)) {
|
|
90
90
|
app.use(compression());
|
|
91
|
+
// 部分环境 mime 库/反代会把 .js 标成 octet-stream,浏览器拒绝 module script
|
|
92
|
+
const staticOpts = {
|
|
93
|
+
setHeaders: setWebAssetHeaders,
|
|
94
|
+
};
|
|
91
95
|
const assetsDir = path.join(cfg.webDistDir, "assets");
|
|
92
96
|
if (fs.existsSync(assetsDir)) {
|
|
93
97
|
app.use("/assets", express.static(assetsDir, {
|
|
98
|
+
...staticOpts,
|
|
94
99
|
maxAge: "1y",
|
|
95
100
|
immutable: true,
|
|
96
101
|
}));
|
|
97
102
|
}
|
|
98
|
-
app.use(express.static(cfg.webDistDir, { maxAge: 0, index: false }));
|
|
99
|
-
app.get("*", (
|
|
103
|
+
app.use(express.static(cfg.webDistDir, { ...staticOpts, maxAge: 0, index: false }));
|
|
104
|
+
app.get("*", (req, res) => {
|
|
105
|
+
// 静态资源路径勿回退成 index.html(否则会触发 MIME / 模块加载错误)
|
|
106
|
+
if (looksLikeStaticAsset(req.path)) {
|
|
107
|
+
res.status(404).end();
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
100
110
|
const indexHtml = path.join(cfg.webDistDir, "index.html");
|
|
101
111
|
if (fs.existsSync(indexHtml)) {
|
|
112
|
+
res.type("html");
|
|
102
113
|
res.sendFile(indexHtml);
|
|
103
114
|
}
|
|
104
115
|
else {
|
|
@@ -118,4 +129,32 @@ function ensureRuntimeDirs() {
|
|
|
118
129
|
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
119
130
|
}
|
|
120
131
|
}
|
|
132
|
+
const WEB_ASSET_CONTENT_TYPE = {
|
|
133
|
+
".js": "application/javascript; charset=UTF-8",
|
|
134
|
+
".mjs": "application/javascript; charset=UTF-8",
|
|
135
|
+
".css": "text/css; charset=UTF-8",
|
|
136
|
+
".wasm": "application/wasm",
|
|
137
|
+
".svg": "image/svg+xml",
|
|
138
|
+
".json": "application/json; charset=UTF-8",
|
|
139
|
+
".map": "application/json; charset=UTF-8",
|
|
140
|
+
".html": "text/html; charset=UTF-8",
|
|
141
|
+
".woff2": "font/woff2",
|
|
142
|
+
".woff": "font/woff",
|
|
143
|
+
".ttf": "font/ttf",
|
|
144
|
+
".png": "image/png",
|
|
145
|
+
".jpg": "image/jpeg",
|
|
146
|
+
".jpeg": "image/jpeg",
|
|
147
|
+
".gif": "image/gif",
|
|
148
|
+
".webp": "image/webp",
|
|
149
|
+
".ico": "image/x-icon",
|
|
150
|
+
};
|
|
151
|
+
function setWebAssetHeaders(res, filePath) {
|
|
152
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
153
|
+
const ct = WEB_ASSET_CONTENT_TYPE[ext];
|
|
154
|
+
if (ct)
|
|
155
|
+
res.setHeader("Content-Type", ct);
|
|
156
|
+
}
|
|
157
|
+
function looksLikeStaticAsset(urlPath) {
|
|
158
|
+
return Object.prototype.hasOwnProperty.call(WEB_ASSET_CONTENT_TYPE, path.extname(urlPath).toLowerCase());
|
|
159
|
+
}
|
|
121
160
|
//# sourceMappingURL=app.js.map
|
package/dist/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,22 +178,33 @@ function installDepsPreferOffline(pkgRoot, registry) {
|
|
|
178
178
|
ensureListedDependency(pkgRoot, "node-llama-cpp", registry);
|
|
179
179
|
rebuildNativeAddons(pkgRoot);
|
|
180
180
|
}
|
|
181
|
+
/** 用当前 Node 试加载 native 包;能 require 则跳过 rebuild(增量 update 常态)。 */
|
|
182
|
+
function nativeAddonLoadable(pkgRoot, depName) {
|
|
183
|
+
const r = spawnSync(process.execPath, ["-e", `require(${JSON.stringify(depName)})`], { cwd: pkgRoot, encoding: "utf8" });
|
|
184
|
+
return (r.status ?? 1) === 0;
|
|
185
|
+
}
|
|
181
186
|
/**
|
|
182
|
-
*
|
|
183
|
-
*
|
|
187
|
+
* 仅当 native 绑定已坏/缺失时才 rebuild。
|
|
188
|
+
* 保留 node_modules 的增量 update 下,版本未变时 npm 不会重跑 install 脚本,
|
|
189
|
+
* 可能留下「有 package.json、无 .node」;正常情况探测通过则零成本跳过。
|
|
184
190
|
*/
|
|
185
191
|
function rebuildNativeAddons(pkgRoot) {
|
|
186
|
-
const
|
|
192
|
+
const candidates = ["better-sqlite3", "node-llama-cpp"].filter((name) => {
|
|
187
193
|
const local = path.join(pkgRoot, "node_modules", ...name.split("/"));
|
|
188
194
|
return fs.existsSync(path.join(local, "package.json"));
|
|
189
195
|
});
|
|
190
|
-
|
|
196
|
+
const broken = candidates.filter((name) => !nativeAddonLoadable(pkgRoot, name));
|
|
197
|
+
if (broken.length === 0) {
|
|
198
|
+
if (candidates.length > 0) {
|
|
199
|
+
log(`原生模块正常(${candidates.join(", ")}),跳过 rebuild`);
|
|
200
|
+
}
|
|
191
201
|
return;
|
|
192
|
-
|
|
193
|
-
|
|
202
|
+
}
|
|
203
|
+
log(`检测到原生绑定缺失,重建:${broken.join(", ")} …`);
|
|
204
|
+
const r = npm(["rebuild", ...broken, "--omit=dev"], pkgRoot);
|
|
194
205
|
if (r.status !== 0) {
|
|
195
206
|
process.stderr.write(`mdocs update: 警告 — npm rebuild 未完全成功(若启动报 bindings 缺失可手动执行):\n` +
|
|
196
|
-
` cd ${pkgRoot} && npm rebuild ${
|
|
207
|
+
` cd ${pkgRoot} && npm rebuild ${broken.join(" ")}\n` +
|
|
197
208
|
` ${r.stderr || r.stdout || ""}\n`);
|
|
198
209
|
return;
|
|
199
210
|
}
|