@actalk/inkos-core 1.3.5 → 1.3.6

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 (60) hide show
  1. package/dist/agent/agent-session.d.ts.map +1 -1
  2. package/dist/agent/agent-session.js +18 -4
  3. package/dist/agent/agent-session.js.map +1 -1
  4. package/dist/agent/agent-tools.d.ts +2 -0
  5. package/dist/agent/agent-tools.d.ts.map +1 -1
  6. package/dist/agent/agent-tools.js +16 -1
  7. package/dist/agent/agent-tools.js.map +1 -1
  8. package/dist/agent/context-transform.d.ts +3 -0
  9. package/dist/agent/context-transform.d.ts.map +1 -0
  10. package/dist/agent/context-transform.js +65 -0
  11. package/dist/agent/context-transform.js.map +1 -0
  12. package/dist/agent/index.d.ts +1 -0
  13. package/dist/agent/index.d.ts.map +1 -1
  14. package/dist/agent/index.js +1 -0
  15. package/dist/agent/index.js.map +1 -1
  16. package/dist/agents/architect.d.ts +40 -2
  17. package/dist/agents/architect.d.ts.map +1 -1
  18. package/dist/agents/architect.js +575 -207
  19. package/dist/agents/architect.js.map +1 -1
  20. package/dist/agents/chapter-analyzer.d.ts.map +1 -1
  21. package/dist/agents/chapter-analyzer.js +5 -4
  22. package/dist/agents/chapter-analyzer.js.map +1 -1
  23. package/dist/agents/consolidator.d.ts.map +1 -1
  24. package/dist/agents/consolidator.js +2 -2
  25. package/dist/agents/consolidator.js.map +1 -1
  26. package/dist/agents/continuity.d.ts.map +1 -1
  27. package/dist/agents/continuity.js +4 -3
  28. package/dist/agents/continuity.js.map +1 -1
  29. package/dist/agents/planner.d.ts.map +1 -1
  30. package/dist/agents/planner.js +4 -3
  31. package/dist/agents/planner.js.map +1 -1
  32. package/dist/agents/reviser.d.ts.map +1 -1
  33. package/dist/agents/reviser.js +5 -4
  34. package/dist/agents/reviser.js.map +1 -1
  35. package/dist/agents/writer.d.ts.map +1 -1
  36. package/dist/agents/writer.js +8 -7
  37. package/dist/agents/writer.js.map +1 -1
  38. package/dist/llm/provider.d.ts +13 -0
  39. package/dist/llm/provider.d.ts.map +1 -1
  40. package/dist/llm/provider.js +5 -1
  41. package/dist/llm/provider.js.map +1 -1
  42. package/dist/models/project.d.ts +8 -0
  43. package/dist/models/project.d.ts.map +1 -1
  44. package/dist/models/project.js +7 -0
  45. package/dist/models/project.js.map +1 -1
  46. package/dist/pipeline/runner.d.ts +22 -0
  47. package/dist/pipeline/runner.d.ts.map +1 -1
  48. package/dist/pipeline/runner.js +154 -5
  49. package/dist/pipeline/runner.js.map +1 -1
  50. package/dist/state/manager.d.ts.map +1 -1
  51. package/dist/state/manager.js +6 -0
  52. package/dist/state/manager.js.map +1 -1
  53. package/dist/utils/memory-retrieval.d.ts.map +1 -1
  54. package/dist/utils/memory-retrieval.js +2 -1
  55. package/dist/utils/memory-retrieval.js.map +1 -1
  56. package/dist/utils/outline-paths.d.ts +51 -0
  57. package/dist/utils/outline-paths.d.ts.map +1 -0
  58. package/dist/utils/outline-paths.js +243 -0
  59. package/dist/utils/outline-paths.js.map +1 -0
  60. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/models/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/models/project.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,28 @@ export declare class PipelineRunner {
132
132
  private loadGenreProfile;
133
133
  runRadar(): Promise<RadarResult>;
134
134
  initBook(book: BookConfig, options?: InitBookOptions): Promise<void>;
135
+ /**
136
+ * Revise an existing book's foundation — 把已有书的架构稿重写(legacy 条目式升级
137
+ * 到段落式 / Phase 5 书按 feedback 再次调整细节),把架构稿相关文件备份到
138
+ * story/.backup-<phase4|phase5>-<timestamp>/。
139
+ *
140
+ * 关键约束:**只改架构稿文件**(outline/ + roles/ + 4 个 legacy shim),
141
+ * 不动任何运行时状态文件(current_state / pending_hooks / particle_ledger /
142
+ * subplot_board / emotional_arcs)—— 跟 context-transform 里给 LLM 的 upgrade
143
+ * hint 承诺"升级只改架构稿,不动已写的章节"保持一致。
144
+ *
145
+ * 两种来源:
146
+ * - legacy 书(没有 outline/story_frame.md):读 story_bible.md 等 4 个
147
+ * flat 文件作为原内容
148
+ * - Phase 5 书(outline/story_frame.md 已存在):读 outline/ + roles/ 的
149
+ * 权威内容作为原内容——**不能读 flat 文件**,那些是 shim(只有指针 + 2000
150
+ * 字摘录)会丢信息
151
+ */
152
+ reviseFoundation(bookId: string, feedback: string): Promise<void>;
153
+ /** Shallow copy (non-recursive) — used to back up outline/ which has no subdirs. */
154
+ private copyDirShallow;
155
+ /** Recursive copy — used to back up roles/ which has 主要角色/ + 次要角色/. */
156
+ private copyDirRecursive;
135
157
  /** Import external source material and generate fanfic_canon.md */
136
158
  importFanficCanon(bookId: string, sourceText: string, sourceName: string, fanficMode: FanficMode): Promise<string>;
137
159
  /** One-step fanfic book creation: create book + import canon + generate foundation */
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAU5G,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAS7D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAgClF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC;IACpE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,GAAG,gBAAgB,CAAC;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAGD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB,GAAG,cAAc,CAAC;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CAC/C;AAUD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;wFACoF;IACpF,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,yBAAyB,CAAS;gBAE9B,MAAM,EAAE,cAAc;IAKlC,OAAO,CAAC,QAAQ;YAIF,mBAAmB;YAenB,uBAAuB;IASrC,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;YAID,qBAAqB;YAkBrB,2BAA2B;IA6DzC,OAAO,CAAC,6BAA6B;IAoCrC,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,WAAW;YAYL,UAAU;YASV,gBAAgB;IASxB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAKhC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqE9E;;;;;;;;;;;;;;;;OAgBG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuGvE,oFAAoF;YACtE,cAAc;IAmB5B,uEAAuE;YACzD,gBAAgB;IAuB9B,mEAAmE;IAC7D,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC;IAalB,sFAAsF;IAChF,cAAc,CAClB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC;IAqDhB,yFAAyF;IACnF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsItF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwBzE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2BrF,0EAA0E;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IA2DnH,sEAAsE;IAChE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,UAAgC,GAAG,OAAO,CAAC,YAAY,CAAC;IAwQxH,uCAAuC;IACjC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAwBzD,gCAAgC;IAC1B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuBtD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASlH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAS1F,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;YAStF,uBAAuB;YAoTvB,yBAAyB;YAwHzB,6BAA6B;IAyJ3C;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyDrG;;;OAGG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAyIhE,uBAAuB;IAyBrC;;;;;;OAMG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+J/E,OAAO,CAAC,MAAM,CAAC,QAAQ;YAYT,sBAAsB;YAyCtB,0BAA0B;YAgB1B,iBAAiB;YA0BjB,2BAA2B;IA+BzC,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,0BAA0B;YAoBpB,4BAA4B;IA4D1C,OAAO,CAAC,4BAA4B;YAKtB,2BAA2B;YAgC3B,qCAAqC;YAkBrC,wBAAwB;YAgCxB,8BAA8B;YAqD9B,2BAA2B;IAsBzC,OAAO,CAAC,kBAAkB;YAYZ,uBAAuB;YAkBvB,oBAAoB;IAmBlC,OAAO,CAAC,6BAA6B;IAgBrC,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,oBAAoB;YAyBd,yBAAyB;IA2CvC,OAAO,CAAC,8BAA8B;IAuBtC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,4BAA4B;YA8BtB,mBAAmB;YAgEnB,sBAAsB;YAWtB,uBAAuB;YAyBvB,mBAAmB;YA0BnB,WAAW;YAgBX,kBAAkB;CAcjC"}
@@ -22,6 +22,7 @@ import { loadNarrativeMemorySeed, loadSnapshotCurrentStateFacts } from "../state
22
22
  import { rewriteStructuredStateFromMarkdown } from "../state/state-bootstrap.js";
23
23
  import { readFile, readdir, writeFile, mkdir, rename, rm, stat } from "node:fs/promises";
24
24
  import { join } from "node:path";
25
+ import { readStoryFrame, readVolumeMap, readCharacterContext, readCurrentStateWithFallback, isNewLayoutBook } from "../utils/outline-paths.js";
25
26
  import { parseStateDegradedReviewNote, resolveStateDegradedBaseStatus, retrySettlementAfterValidationFailure, } from "./chapter-state-recovery.js";
26
27
  import { persistChapterArtifacts } from "./chapter-persistence.js";
27
28
  import { runChapterReviewCycle } from "./chapter-review-cycle.js";
@@ -288,6 +289,154 @@ export class PipelineRunner {
288
289
  throw error;
289
290
  }
290
291
  }
292
+ /**
293
+ * Revise an existing book's foundation — 把已有书的架构稿重写(legacy 条目式升级
294
+ * 到段落式 / Phase 5 书按 feedback 再次调整细节),把架构稿相关文件备份到
295
+ * story/.backup-<phase4|phase5>-<timestamp>/。
296
+ *
297
+ * 关键约束:**只改架构稿文件**(outline/ + roles/ + 4 个 legacy shim),
298
+ * 不动任何运行时状态文件(current_state / pending_hooks / particle_ledger /
299
+ * subplot_board / emotional_arcs)—— 跟 context-transform 里给 LLM 的 upgrade
300
+ * hint 承诺"升级只改架构稿,不动已写的章节"保持一致。
301
+ *
302
+ * 两种来源:
303
+ * - legacy 书(没有 outline/story_frame.md):读 story_bible.md 等 4 个
304
+ * flat 文件作为原内容
305
+ * - Phase 5 书(outline/story_frame.md 已存在):读 outline/ + roles/ 的
306
+ * 权威内容作为原内容——**不能读 flat 文件**,那些是 shim(只有指针 + 2000
307
+ * 字摘录)会丢信息
308
+ */
309
+ async reviseFoundation(bookId, feedback) {
310
+ const bookDir = this.state.bookDir(bookId);
311
+ const storyDir = join(bookDir, "story");
312
+ const isPhase5 = await isNewLayoutBook(bookDir);
313
+ // 1. 备份架构稿相关文件(不包含运行时状态文件,那些不会被动)
314
+ const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
315
+ const backupTag = isPhase5 ? "phase5" : "phase4";
316
+ const backupDir = join(storyDir, `.backup-${backupTag}-${timestamp}`);
317
+ await mkdir(backupDir, { recursive: true });
318
+ // 备份 legacy flat 文件(两种书都有这几个——legacy 是权威,Phase 5 是 shim)
319
+ const flatFiles = ["story_bible.md", "volume_outline.md", "book_rules.md", "character_matrix.md"];
320
+ for (const fileName of flatFiles) {
321
+ try {
322
+ const content = await readFile(join(storyDir, fileName), "utf-8");
323
+ await writeFile(join(backupDir, fileName), content, "utf-8");
324
+ }
325
+ catch {
326
+ /* 文件不存在就跳过 */
327
+ }
328
+ }
329
+ // Phase 5 书还要备份权威来源:outline/ 和 roles/ 两个目录
330
+ if (isPhase5) {
331
+ await this.copyDirShallow(join(storyDir, "outline"), join(backupDir, "outline"));
332
+ await this.copyDirRecursive(join(storyDir, "roles"), join(backupDir, "roles"));
333
+ }
334
+ // 2. 读原内容作为 reviseFrom 输入 —— 必须从权威源读
335
+ const book = await this.state.loadBookConfig(bookId);
336
+ let oldStoryBible, oldVolumeOutline, oldBookRules, oldCharacterMatrix;
337
+ if (isPhase5) {
338
+ // Phase 5 书的 story_bible.md / volume_outline.md / character_matrix.md
339
+ // 都是 shim(只有指针 + 摘录),信息不完整。从 outline-paths helper 读
340
+ // 权威文件:outline/story_frame.md / outline/volume_map.md / roles/**/*.md
341
+ [oldStoryBible, oldVolumeOutline, oldCharacterMatrix] = await Promise.all([
342
+ readStoryFrame(bookDir),
343
+ readVolumeMap(bookDir),
344
+ readCharacterContext(bookDir),
345
+ ]);
346
+ // book_rules.md 在 Phase 5 下虽然是 shim,但 YAML frontmatter 已经搬到
347
+ // story_frame.md 顶部了(writeFoundationFiles 做的合并),这里读 shim
348
+ // 文件 OK——里面的"叙事指引摘录"部分是唯一遗留信息。
349
+ oldBookRules = await readFile(join(storyDir, "book_rules.md"), "utf-8").catch(() => "");
350
+ }
351
+ else {
352
+ // legacy 书:4 个 flat 文件就是权威
353
+ [oldStoryBible, oldVolumeOutline, oldBookRules, oldCharacterMatrix] = await Promise.all([
354
+ readFile(join(storyDir, "story_bible.md"), "utf-8").catch(() => ""),
355
+ readFile(join(storyDir, "volume_outline.md"), "utf-8").catch(() => ""),
356
+ readFile(join(storyDir, "book_rules.md"), "utf-8").catch(() => ""),
357
+ readFile(join(storyDir, "character_matrix.md"), "utf-8").catch(() => ""),
358
+ ]);
359
+ }
360
+ // 3. 架构师按 reviseFrom + feedback 重写
361
+ const architect = new ArchitectAgent(this.agentCtxFor("architect", bookId));
362
+ const foundation = await architect.generateFoundation(book, undefined, undefined, {
363
+ reviseFrom: {
364
+ storyBible: oldStoryBible,
365
+ volumeOutline: oldVolumeOutline,
366
+ bookRules: oldBookRules,
367
+ characterMatrix: oldCharacterMatrix,
368
+ userFeedback: feedback,
369
+ },
370
+ });
371
+ // 4. 可选 foundation-reviewer 审核——挂了只 warn 不阻断
372
+ const reviewer = new FoundationReviewerAgent(this.agentCtxFor("foundation-reviewer", bookId));
373
+ const resolvedLanguage = (book.language ?? "zh") === "en" ? "en" : "zh";
374
+ try {
375
+ const review = await reviewer.review({
376
+ foundation,
377
+ mode: "original",
378
+ language: resolvedLanguage,
379
+ });
380
+ if (!review.passed) {
381
+ this.config.logger?.warn?.(`[reviseFoundation] 审核未通过,仍接受转换结果。反馈:${review.overallFeedback ?? ""}`);
382
+ }
383
+ }
384
+ catch (error) {
385
+ this.config.logger?.warn?.(`[reviseFoundation] 审核调用失败,跳过:${error instanceof Error ? error.message : String(error)}`);
386
+ }
387
+ // 5. 目录补全 → 写新文件(mode="revise" 不动运行时状态 + 清空旧 role 文件)
388
+ const outlineDir = join(storyDir, "outline");
389
+ await mkdir(outlineDir, { recursive: true });
390
+ await mkdir(join(storyDir, "roles", "主要角色"), { recursive: true });
391
+ await mkdir(join(storyDir, "roles", "次要角色"), { recursive: true });
392
+ const { profile: gp } = await this.loadGenreProfile(book.genre);
393
+ await architect.writeFoundationFiles(bookDir, foundation, gp.numericalSystem, book.language ?? gp.language, "revise");
394
+ }
395
+ /** Shallow copy (non-recursive) — used to back up outline/ which has no subdirs. */
396
+ async copyDirShallow(src, dest) {
397
+ try {
398
+ await mkdir(dest, { recursive: true });
399
+ const entries = await readdir(src);
400
+ await Promise.all(entries.map(async (entry) => {
401
+ try {
402
+ const content = await readFile(join(src, entry), "utf-8");
403
+ await writeFile(join(dest, entry), content, "utf-8");
404
+ }
405
+ catch {
406
+ /* skip files we can't read */
407
+ }
408
+ }));
409
+ }
410
+ catch {
411
+ /* src doesn't exist → nothing to back up */
412
+ }
413
+ }
414
+ /** Recursive copy — used to back up roles/ which has 主要角色/ + 次要角色/. */
415
+ async copyDirRecursive(src, dest) {
416
+ try {
417
+ await mkdir(dest, { recursive: true });
418
+ const entries = await readdir(src, { withFileTypes: true });
419
+ for (const entry of entries) {
420
+ const srcPath = join(src, entry.name);
421
+ const destPath = join(dest, entry.name);
422
+ if (entry.isDirectory()) {
423
+ await this.copyDirRecursive(srcPath, destPath);
424
+ }
425
+ else if (entry.isFile()) {
426
+ try {
427
+ const content = await readFile(srcPath, "utf-8");
428
+ await writeFile(destPath, content, "utf-8");
429
+ }
430
+ catch {
431
+ /* skip */
432
+ }
433
+ }
434
+ }
435
+ }
436
+ catch {
437
+ /* src doesn't exist */
438
+ }
439
+ }
291
440
  /** Import external source material and generate fanfic_canon.md */
292
441
  async importFanficCanon(bookId, sourceText, sourceName, fanficMode) {
293
442
  const { FanficCanonImporter } = await import("../agents/fanfic-canon-importer.js");
@@ -769,8 +918,8 @@ export class PipelineRunner {
769
918
  readSafe(join(storyDir, "current_state.md")),
770
919
  readSafe(join(storyDir, "particle_ledger.md")),
771
920
  readSafe(join(storyDir, "pending_hooks.md")),
772
- readSafe(join(storyDir, "story_bible.md")),
773
- readSafe(join(storyDir, "volume_outline.md")),
921
+ readStoryFrame(bookDir, "(文件不存在)"),
922
+ readVolumeMap(bookDir, "(文件不存在)"),
774
923
  readSafe(join(storyDir, "book_rules.md")),
775
924
  ]);
776
925
  return { currentState, particleLedger, pendingHooks, storyBible, volumeOutline, bookRules };
@@ -1393,14 +1542,14 @@ export class PipelineRunner {
1393
1542
  };
1394
1543
  const parentBook = await this.state.loadBookConfig(parentBookId);
1395
1544
  const [storyBible, currentState, ledger, hooks, summaries, subplots, emotions, matrix] = await Promise.all([
1396
- readSafe(join(parentDir, "story/story_bible.md")),
1397
- readSafe(join(parentDir, "story/current_state.md")),
1545
+ readStoryFrame(parentDir, "(无)"),
1546
+ readCurrentStateWithFallback(parentDir, "(无)"),
1398
1547
  readSafe(join(parentDir, "story/particle_ledger.md")),
1399
1548
  readSafe(join(parentDir, "story/pending_hooks.md")),
1400
1549
  readSafe(join(parentDir, "story/chapter_summaries.md")),
1401
1550
  readSafe(join(parentDir, "story/subplot_board.md")),
1402
1551
  readSafe(join(parentDir, "story/emotional_arcs.md")),
1403
- readSafe(join(parentDir, "story/character_matrix.md")),
1552
+ readCharacterContext(parentDir, "(无)"),
1404
1553
  ]);
1405
1554
  const response = await chatCompletion(this.config.client, this.config.model, [
1406
1555
  {