@whispering233/ai-editor-server 0.0.53 → 0.0.55

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 (86) hide show
  1. package/client-dist/assets/{index-DBshOA8W.css → index-FO9svVbu.css} +1 -1
  2. package/client-dist/assets/index-ntCd3_tm.js +625 -0
  3. package/client-dist/index.html +2 -2
  4. package/dist/backup.d.ts +37 -44
  5. package/dist/backup.d.ts.map +1 -1
  6. package/dist/backup.js +55 -201
  7. package/dist/backup.js.map +1 -1
  8. package/dist/cloud/auto-push.d.ts +3 -3
  9. package/dist/cloud/auto-push.d.ts.map +1 -1
  10. package/dist/cloud/auto-push.js +7 -6
  11. package/dist/cloud/auto-push.js.map +1 -1
  12. package/dist/cloud/state.d.ts +6 -0
  13. package/dist/cloud/state.d.ts.map +1 -1
  14. package/dist/cloud/state.js +25 -0
  15. package/dist/cloud/state.js.map +1 -1
  16. package/dist/cloud/sync.d.ts +4 -6
  17. package/dist/cloud/sync.d.ts.map +1 -1
  18. package/dist/cloud/sync.js +8 -23
  19. package/dist/cloud/sync.js.map +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +0 -4
  22. package/dist/index.js.map +1 -1
  23. package/dist/last-project.d.ts +5 -0
  24. package/dist/last-project.d.ts.map +1 -1
  25. package/dist/last-project.js +18 -0
  26. package/dist/last-project.js.map +1 -1
  27. package/dist/middleware/error.d.ts +1 -1
  28. package/dist/middleware/error.d.ts.map +1 -1
  29. package/dist/middleware/error.js +0 -9
  30. package/dist/middleware/error.js.map +1 -1
  31. package/dist/middleware/project.d.ts +1 -1
  32. package/dist/middleware/project.d.ts.map +1 -1
  33. package/dist/middleware/project.js +1 -15
  34. package/dist/middleware/project.js.map +1 -1
  35. package/dist/routes/chat.d.ts.map +1 -1
  36. package/dist/routes/chat.js +46 -39
  37. package/dist/routes/chat.js.map +1 -1
  38. package/dist/routes/cloud.d.ts.map +1 -1
  39. package/dist/routes/cloud.js +168 -11
  40. package/dist/routes/cloud.js.map +1 -1
  41. package/dist/routes/project.d.ts +21 -1
  42. package/dist/routes/project.d.ts.map +1 -1
  43. package/dist/routes/project.js +138 -10
  44. package/dist/routes/project.js.map +1 -1
  45. package/package.json +5 -5
  46. package/client-dist/assets/index-DnBMudDZ.js +0 -624
  47. package/dist/decompose/batching.d.ts +0 -20
  48. package/dist/decompose/batching.d.ts.map +0 -1
  49. package/dist/decompose/batching.js +0 -29
  50. package/dist/decompose/batching.js.map +0 -1
  51. package/dist/decompose/extract.d.ts +0 -44
  52. package/dist/decompose/extract.d.ts.map +0 -1
  53. package/dist/decompose/extract.js +0 -246
  54. package/dist/decompose/extract.js.map +0 -1
  55. package/dist/decompose/job.d.ts +0 -91
  56. package/dist/decompose/job.d.ts.map +0 -1
  57. package/dist/decompose/job.js +0 -289
  58. package/dist/decompose/job.js.map +0 -1
  59. package/dist/decompose/llm.d.ts +0 -68
  60. package/dist/decompose/llm.d.ts.map +0 -1
  61. package/dist/decompose/llm.js +0 -180
  62. package/dist/decompose/llm.js.map +0 -1
  63. package/dist/decompose/merge-write.d.ts +0 -75
  64. package/dist/decompose/merge-write.d.ts.map +0 -1
  65. package/dist/decompose/merge-write.js +0 -670
  66. package/dist/decompose/merge-write.js.map +0 -1
  67. package/dist/decompose/merge.d.ts +0 -156
  68. package/dist/decompose/merge.d.ts.map +0 -1
  69. package/dist/decompose/merge.js +0 -266
  70. package/dist/decompose/merge.js.map +0 -1
  71. package/dist/decompose/report.d.ts +0 -57
  72. package/dist/decompose/report.d.ts.map +0 -1
  73. package/dist/decompose/report.js +0 -127
  74. package/dist/decompose/report.js.map +0 -1
  75. package/dist/decompose/runner.d.ts +0 -143
  76. package/dist/decompose/runner.d.ts.map +0 -1
  77. package/dist/decompose/runner.js +0 -520
  78. package/dist/decompose/runner.js.map +0 -1
  79. package/dist/decompose/split.d.ts +0 -89
  80. package/dist/decompose/split.d.ts.map +0 -1
  81. package/dist/decompose/split.js +0 -556
  82. package/dist/decompose/split.js.map +0 -1
  83. package/dist/routes/decompose.d.ts +0 -26
  84. package/dist/routes/decompose.d.ts.map +0 -1
  85. package/dist/routes/decompose.js +0 -453
  86. package/dist/routes/decompose.js.map +0 -1
@@ -1,75 +0,0 @@
1
- import type { DecomposeBatchResult, EntitySummary } from "@whispering233/ai-editor-shared";
2
- import { type Db } from "@whispering233/ai-editor-db";
3
- import type { ProjectContext } from "../middleware/project.js";
4
- import { type DecomposeSession } from "./llm.js";
5
- import { type AliasCandidate, type DecomposeEntityKind } from "./merge.js";
6
- import { type ReportChapter } from "./report.js";
7
- /** 归并清单里关系条目的 `type`(关系表无类型列;实体条目用 `entities.type`,报告用 `DECOMPOSE_REPORT_ENTITY_TYPE`) */
8
- export declare const DECOMPOSE_MERGE_RELATION_TYPE = "relation";
9
- /** 别名后缀(§6 第 3 层:别名进 description 的「(又称:X、Y)」,不动 schema) */
10
- export declare const DECOMPOSE_ALIAS_NOTE_PREFIX = "\uFF08\u53C8\u79F0\uFF1A";
11
- export declare const DECOMPOSE_ALIAS_NOTE_SEPARATOR = "\u3001";
12
- /** 实体类别:关系端点**同名跨类型**时的解析优先级(先人物,再设定,末地点) */
13
- export declare const DECOMPOSE_ENTITY_KINDS: readonly ["character", "setting", "location"];
14
- /** S3 + S4 的入参:项目 / job / 本 job 的拆解会话(模型调用与过程条目都写它)/ 时间(本模块不生成时间) */
15
- export interface DecomposeMergeInput {
16
- project: ProjectContext;
17
- jobId: string;
18
- session: DecomposeSession;
19
- now: string;
20
- }
21
- /** 一轮 S3 + S4 的收尾统计(runner 只记日志;断言走库内数据) */
22
- export interface DecomposeMergeSummary {
23
- entities: number;
24
- relations: number;
25
- aliasGroups: number;
26
- reportId: string;
27
- }
28
- /** 单个实体在全书提及里的归并素材 */
29
- export interface MentionAggregate {
30
- /** 全部提及里最长的一条 description(最完整的一条:别名归并候选的 short summary 与实体 description 共用) */
31
- description: string;
32
- /** 按类型收敛的其余字段(首个非空值胜出;`description` 不在其中,它由 appendAliasNote 组装) */
33
- data: Record<string, unknown>;
34
- }
35
- /**
36
- * S3 别名归并候选(§6 第 2 层):人物候选(第 1 层去重后)+ 出现章数 + 首次出现章 + 短摘要。
37
- * 短摘要 = 该人物出现章里最完整的一条 `description`(截断)——LLM 只看到这份清单,看不到原文。
38
- */
39
- export declare function buildAliasCandidates(results: readonly DecomposeBatchResult[]): AliasCandidate[];
40
- /** 提及素材聚合(纯函数):`description` 取最长的一条,其余字段取首个非空值(跨章提及并成一行实体) */
41
- export declare function aggregateMentions(results: readonly DecomposeBatchResult[]): Map<string, MentionAggregate>;
42
- /** 描述 + 「(又称:X、Y)」;描述为空时只留别称(§6 第 3 层) */
43
- export declare function appendAliasNote(description: string, aliases: readonly string[]): string;
44
- /**
45
- * 章摘要回写大纲(§5):**只写 `summary`**(章标题权威 = S1 写的大纲节点标题)。一次读 + 一次写
46
- * (逐节点调用会让 N 章 × 原子写 fsync 变成 N 次落盘,同 S1 建档的取舍);摘要与节点现值相同则不触碰该节点。
47
- * @returns 实际改动的章数
48
- */
49
- export declare function writeChapterSummaries(project: ProjectContext, results: readonly DecomposeBatchResult[], now: string): number;
50
- /** 报告章条目(章序 = 文件位置序;标题取大纲节点、摘要取批结果、长度取正文投影) */
51
- export declare function reportChapters(project: ProjectContext, results: readonly DecomposeBatchResult[]): ReportChapter[];
52
- /**
53
- * S3 + S4 一轮:别名归并调用 → 四步纯管线 → 三路比对 → 落库(实体 / 关系 / 章摘要 / 报告)→ 写 `merge_written`。
54
- * 幂等由三路比对保证(同一份批结果跑两遍:实体/关系数量不变,报告更新同一条);**跨轮 baseline** =
55
- * 历史全部 job 的 `merge_written` 并集(§6.1)⇒ 续拆时同名行复用 + 增量更新,跨轮未重现的产物不软删。
56
- * 调用方(runner 收口路径)负责 job 状态;本模块只写业务数据与清单。
57
- */
58
- export declare function runDecomposeMerge(input: DecomposeMergeInput): Promise<DecomposeMergeSummary>;
59
- /**
60
- * 某类型的**全部**活实体(`listEntities` 每页上限 `MAX_ENTITY_LIST_LIMIT` ⇒ 分页取全):
61
- * 两个调用面都要「全库」,不得只看首页——S3 的同名复用(这里)与起始快照的 `snapshotKnownNames` 全集
62
- * (`runner.ts` 的 `readStartSnapshot`);两处各写一份必然漂移,故共用本实现。
63
- */
64
- export declare function listAllLiveEntities(db: Db, type: DecomposeEntityKind): EntitySummary[];
65
- /**
66
- * 增量更新(§6 第 3 层):把本轮实体 data 并进库内现值。**无变化时返回入参本身**(同一引用)
67
- * —— 调用方据此判「不写」(`updated_at` 同时是 baseline 比对依据)。
68
- * - `description`:剥掉「(又称:…)」段后**取更长者**(与 `entityDataOf` 的「最长的一条」同口径),
69
- * 别名段取**并集**(不丢上一轮别名);
70
- * - 数组字段(`personality` / `tags` / `rules`):**并集**(库内在前 ⇒ 顺序稳定,重跑幂等);
71
- * - `role`:本轮**非空则覆盖**(续拆后定位可能变化);
72
- * - 其余字段(`gender` / `age` / `race` / `alias` / `type` / `motivation` …):**仅库内为空时填**。
73
- */
74
- export declare function mergeEntityData(current: Record<string, unknown>, incoming: Record<string, unknown>): Record<string, unknown>;
75
- //# sourceMappingURL=merge-write.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge-write.d.ts","sourceRoot":"","sources":["../../src/decompose/merge-write.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,oBAAoB,EAAa,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEtG,OAAO,EAqBL,KAAK,EAAE,EAER,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAkB,KAAK,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AACpF,OAAO,EAUL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAOzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAQL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AAErB,0FAA0F;AAC1F,eAAO,MAAM,6BAA6B,aAAa,CAAC;AACxD,2DAA2D;AAC3D,eAAO,MAAM,2BAA2B,6BAAS,CAAC;AAClD,eAAO,MAAM,8BAA8B,WAAM,CAAC;AAClD,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,+CAAyF,CAAC;AAK7H,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,sBAAsB;AACtB,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GAAG,cAAc,EAAE,CAU/F;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAuBzG;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAIvF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,GAAG,EAAE,MAAM,GACV,MAAM,CAkBR;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,oBAAoB,EAAE,GAAG,aAAa,EAAE,CAcjH;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmElG;AA2JD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,GAAG,aAAa,EAAE,CAOtF;AAqKD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB"}