@kienmatu/inkos-core 0.1.3 → 3.3.0

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 (99) hide show
  1. package/dist/agent/agent-session.js +2 -2
  2. package/dist/agent/agent-session.js.map +1 -1
  3. package/dist/agent/agent-system-prompt.d.ts.map +1 -1
  4. package/dist/agent/agent-system-prompt.js +3 -2
  5. package/dist/agent/agent-system-prompt.js.map +1 -1
  6. package/dist/agent/agent-tools.d.ts +1 -0
  7. package/dist/agent/agent-tools.d.ts.map +1 -1
  8. package/dist/agent/agent-tools.js +16 -8
  9. package/dist/agent/agent-tools.js.map +1 -1
  10. package/dist/agent/pi-stream.d.ts.map +1 -1
  11. package/dist/agent/pi-stream.js +74 -3
  12. package/dist/agent/pi-stream.js.map +1 -1
  13. package/dist/agents/architect.js +7 -7
  14. package/dist/agents/continuity.d.ts.map +1 -1
  15. package/dist/agents/continuity.js +2 -1
  16. package/dist/agents/continuity.js.map +1 -1
  17. package/dist/agents/fanfic-prompt-sections.d.ts +3 -3
  18. package/dist/agents/fanfic-prompt-sections.d.ts.map +1 -1
  19. package/dist/agents/fanfic-prompt-sections.js +83 -3
  20. package/dist/agents/fanfic-prompt-sections.js.map +1 -1
  21. package/dist/agents/observer-prompts.js +1 -1
  22. package/dist/agents/observer-prompts.js.map +1 -1
  23. package/dist/agents/planner-prompts.d.ts +1 -1
  24. package/dist/agents/planner-prompts.d.ts.map +1 -1
  25. package/dist/agents/planner-prompts.js +15 -14
  26. package/dist/agents/planner-prompts.js.map +1 -1
  27. package/dist/agents/planner.d.ts.map +1 -1
  28. package/dist/agents/planner.js +2 -2
  29. package/dist/agents/planner.js.map +1 -1
  30. package/dist/agents/post-write-validator.d.ts +2 -0
  31. package/dist/agents/post-write-validator.d.ts.map +1 -1
  32. package/dist/agents/post-write-validator.js +6 -2
  33. package/dist/agents/post-write-validator.js.map +1 -1
  34. package/dist/agents/settler-prompts.d.ts +1 -0
  35. package/dist/agents/settler-prompts.d.ts.map +1 -1
  36. package/dist/agents/settler-prompts.js +200 -13
  37. package/dist/agents/settler-prompts.js.map +1 -1
  38. package/dist/agents/short-fiction.d.ts +12 -9
  39. package/dist/agents/short-fiction.d.ts.map +1 -1
  40. package/dist/agents/short-fiction.js +269 -49
  41. package/dist/agents/short-fiction.js.map +1 -1
  42. package/dist/agents/writer-prompts.d.ts +6 -0
  43. package/dist/agents/writer-prompts.d.ts.map +1 -1
  44. package/dist/agents/writer-prompts.js +97 -36
  45. package/dist/agents/writer-prompts.js.map +1 -1
  46. package/dist/agents/writer.d.ts.map +1 -1
  47. package/dist/agents/writer.js +6 -1
  48. package/dist/agents/writer.js.map +1 -1
  49. package/dist/interaction/action-envelope.d.ts +10 -10
  50. package/dist/interaction/action-envelope.d.ts.map +1 -1
  51. package/dist/interaction/action-envelope.js +13 -6
  52. package/dist/interaction/action-envelope.js.map +1 -1
  53. package/dist/interaction/project-tools.d.ts +3 -1
  54. package/dist/interaction/project-tools.d.ts.map +1 -1
  55. package/dist/interaction/project-tools.js +27 -8
  56. package/dist/interaction/project-tools.js.map +1 -1
  57. package/dist/llm/provider.d.ts +6 -0
  58. package/dist/llm/provider.d.ts.map +1 -1
  59. package/dist/llm/provider.js +28 -2
  60. package/dist/llm/provider.js.map +1 -1
  61. package/dist/models/short-fiction-format.d.ts +10 -0
  62. package/dist/models/short-fiction-format.d.ts.map +1 -0
  63. package/dist/models/short-fiction-format.js +41 -0
  64. package/dist/models/short-fiction-format.js.map +1 -0
  65. package/dist/pipeline/chapter-review-cycle.d.ts +3 -8
  66. package/dist/pipeline/chapter-review-cycle.d.ts.map +1 -1
  67. package/dist/pipeline/chapter-review-cycle.js +3 -1
  68. package/dist/pipeline/chapter-review-cycle.js.map +1 -1
  69. package/dist/pipeline/chapter-state-recovery.d.ts +2 -4
  70. package/dist/pipeline/chapter-state-recovery.d.ts.map +1 -1
  71. package/dist/pipeline/chapter-state-recovery.js.map +1 -1
  72. package/dist/pipeline/chapter-truth-validation.d.ts +2 -4
  73. package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -1
  74. package/dist/pipeline/chapter-truth-validation.js.map +1 -1
  75. package/dist/pipeline/runner.d.ts +14 -0
  76. package/dist/pipeline/runner.d.ts.map +1 -1
  77. package/dist/pipeline/runner.js +55 -38
  78. package/dist/pipeline/runner.js.map +1 -1
  79. package/dist/pipeline/short-fiction-runner.d.ts.map +1 -1
  80. package/dist/pipeline/short-fiction-runner.js +19 -6
  81. package/dist/pipeline/short-fiction-runner.js.map +1 -1
  82. package/dist/prompts/short-fiction.d.ts +3 -0
  83. package/dist/prompts/short-fiction.d.ts.map +1 -1
  84. package/dist/prompts/short-fiction.js +155 -85
  85. package/dist/prompts/short-fiction.js.map +1 -1
  86. package/dist/utils/chapter-memo-parser.d.ts +10 -0
  87. package/dist/utils/chapter-memo-parser.d.ts.map +1 -1
  88. package/dist/utils/chapter-memo-parser.js +59 -10
  89. package/dist/utils/chapter-memo-parser.js.map +1 -1
  90. package/dist/utils/golden-opening.d.ts +12 -0
  91. package/dist/utils/golden-opening.d.ts.map +1 -0
  92. package/dist/utils/golden-opening.js +18 -0
  93. package/dist/utils/golden-opening.js.map +1 -0
  94. package/dist/utils/log-message.d.ts +13 -0
  95. package/dist/utils/log-message.d.ts.map +1 -0
  96. package/dist/utils/log-message.js +2 -0
  97. package/dist/utils/log-message.js.map +1 -0
  98. package/package.json +1 -1
  99. package/skills/inkos-short-writing/SKILL.md +2 -2
@@ -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":"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"}
@@ -196,6 +196,17 @@ export class PipelineRunner {
196
196
  localize(language, messages) {
197
197
  return language === "en" ? messages.en : messages.zh;
198
198
  }
199
+ /**
200
+ * Log lines follow the reader's language, not the book's. Messages that have
201
+ * no translation for it fall back to English rather than to the writing
202
+ * language, so a Vietnamese reader never gets an unexpected Chinese line.
203
+ */
204
+ localizeLog(writingLanguage, messages) {
205
+ const language = this.config.logLanguage ?? writingLanguage;
206
+ if (language === "vi")
207
+ return messages.vi ?? messages.en;
208
+ return language === "en" ? messages.en : messages.zh;
209
+ }
199
210
  async resolveBookLanguage(book) {
200
211
  if (book.language) {
201
212
  return book.language;
@@ -221,13 +232,13 @@ export class PipelineRunner {
221
232
  return lengthSpec.countingMode === "en_words" ? "en" : "zh";
222
233
  }
223
234
  logStage(language, message) {
224
- this.config.logger?.info(`${this.localize(language, { zh: "阶段:", en: "Stage: " })}${this.localize(language, message)}`);
235
+ this.config.logger?.info(`${this.localizeLog(language, { zh: "阶段:", en: "Stage: ", vi: "Bước: " })}${this.localizeLog(language, message)}`);
225
236
  }
226
237
  logInfo(language, message) {
227
- this.config.logger?.info(this.localize(language, message));
238
+ this.config.logger?.info(this.localizeLog(language, message));
228
239
  }
229
240
  logWarn(language, message) {
230
- this.config.logger?.warn(this.localize(language, message));
241
+ this.config.logger?.warn(this.localizeLog(language, message));
231
242
  }
232
243
  async tryGenerateStyleGuide(bookId, referenceText, sourceName, language) {
233
244
  try {
@@ -249,6 +260,7 @@ export class PipelineRunner {
249
260
  this.logStage(params.stageLanguage, {
250
261
  zh: `审核基础设定(第${attempt + 1}轮)`,
251
262
  en: `reviewing foundation (round ${attempt + 1})`,
263
+ vi: `Rà soát thiết lập nền tảng (vòng ${attempt + 1})`,
252
264
  });
253
265
  let review;
254
266
  try {
@@ -428,7 +440,7 @@ export class PipelineRunner {
428
440
  const stagingBookDir = join(this.state.booksDir, `.tmp-book-create-${book.id}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`);
429
441
  const stageLanguage = await this.resolveBookLanguage(book);
430
442
  const effectiveExternalContext = options.externalContext ?? this.config.externalContext;
431
- this.logStage(stageLanguage, { zh: "生成基础设定", en: "generating foundation" });
443
+ this.logStage(stageLanguage, { zh: "生成基础设定", en: "generating foundation", vi: "Tạo thiết lập nền tảng" });
432
444
  const { profile: gp } = await this.loadGenreProfile(book.genre);
433
445
  const reviewer = new FoundationReviewerAgent(this.agentCtxFor("foundation-reviewer", book.id));
434
446
  const resolvedLanguage = (book.language ?? gp.language) === "en" ? "en" : "zh";
@@ -441,22 +453,22 @@ export class PipelineRunner {
441
453
  targetChapters: book.targetChapters,
442
454
  });
443
455
  try {
444
- this.logStage(stageLanguage, { zh: "保存书籍配置", en: "saving book config" });
456
+ this.logStage(stageLanguage, { zh: "保存书籍配置", en: "saving book config", vi: "Lưu cấu hình sách" });
445
457
  await this.state.saveBookConfigAt(stagingBookDir, book);
446
- this.logStage(stageLanguage, { zh: "写入基础设定文件", en: "writing foundation files" });
458
+ this.logStage(stageLanguage, { zh: "写入基础设定文件", en: "writing foundation files", vi: "Ghi tệp thiết lập nền tảng" });
447
459
  await architect.writeFoundationFiles(stagingBookDir, foundation, gp.numericalSystem, book.language ?? gp.language);
448
460
  if (effectiveExternalContext && effectiveExternalContext.trim().length > 0) {
449
461
  const storyDir = join(stagingBookDir, "story");
450
462
  await mkdir(storyDir, { recursive: true });
451
463
  await writeFile(join(storyDir, "brief.md"), effectiveExternalContext, "utf-8");
452
464
  }
453
- this.logStage(stageLanguage, { zh: "初始化控制文档", en: "initializing control documents" });
465
+ this.logStage(stageLanguage, { zh: "初始化控制文档", en: "initializing control documents", vi: "Khởi tạo tài liệu kiểm soát" });
454
466
  await this.state.ensureControlDocumentsAt(stagingBookDir, book.language ?? gp.language, options.authorIntent ?? effectiveExternalContext);
455
467
  if (options.currentFocus?.trim()) {
456
468
  await writeFile(join(stagingBookDir, "story", "current_focus.md"), options.currentFocus.trimEnd() + "\n", "utf-8");
457
469
  }
458
470
  await this.state.saveChapterIndexAt(stagingBookDir, []);
459
- this.logStage(stageLanguage, { zh: "创建初始快照", en: "creating initial snapshot" });
471
+ this.logStage(stageLanguage, { zh: "创建初始快照", en: "creating initial snapshot", vi: "Tạo snapshot ban đầu" });
460
472
  await this.state.snapshotStateAt(stagingBookDir, 0);
461
473
  if (await this.pathExists(bookDir)) {
462
474
  if (await this.state.isCompleteBookDirectory(bookDir)) {
@@ -612,15 +624,15 @@ export class PipelineRunner {
612
624
  async initFanficBook(book, sourceText, sourceName, fanficMode) {
613
625
  const bookDir = this.state.bookDir(book.id);
614
626
  const stageLanguage = await this.resolveBookLanguage(book);
615
- this.logStage(stageLanguage, { zh: "保存书籍配置", en: "saving book config" });
627
+ this.logStage(stageLanguage, { zh: "保存书籍配置", en: "saving book config", vi: "Lưu cấu hình sách" });
616
628
  await this.state.saveBookConfig(book.id, book);
617
629
  // Step 1: Import source material → fanfic_canon.md
618
- this.logStage(stageLanguage, { zh: "导入同人正典", en: "importing fanfic canon" });
630
+ this.logStage(stageLanguage, { zh: "导入同人正典", en: "importing fanfic canon", vi: "Nhập chính sử đồng nhân" });
619
631
  const fanficCanon = await this.importFanficCanon(book.id, sourceText, sourceName, fanficMode);
620
632
  // Step 2: Generate foundation with review loop
621
633
  const architect = new ArchitectAgent(this.agentCtxFor("architect", book.id));
622
634
  const reviewer = new FoundationReviewerAgent(this.agentCtxFor("foundation-reviewer", book.id));
623
- this.logStage(stageLanguage, { zh: "生成同人基础设定", en: "generating fanfic foundation" });
635
+ this.logStage(stageLanguage, { zh: "生成同人基础设定", en: "generating fanfic foundation", vi: "Tạo thiết lập nền tảng đồng nhân" });
624
636
  const { profile: gp } = await this.loadGenreProfile(book.genre);
625
637
  const resolvedLanguage = (book.language ?? gp.language) === "en" ? "en" : "zh";
626
638
  const foundation = await this.generateAndReviewFoundation({
@@ -632,17 +644,17 @@ export class PipelineRunner {
632
644
  stageLanguage,
633
645
  targetChapters: book.targetChapters,
634
646
  });
635
- this.logStage(stageLanguage, { zh: "写入基础设定文件", en: "writing foundation files" });
647
+ this.logStage(stageLanguage, { zh: "写入基础设定文件", en: "writing foundation files", vi: "Ghi tệp thiết lập nền tảng" });
636
648
  await architect.writeFoundationFiles(bookDir, foundation, gp.numericalSystem, book.language ?? gp.language);
637
- this.logStage(stageLanguage, { zh: "初始化控制文档", en: "initializing control documents" });
649
+ this.logStage(stageLanguage, { zh: "初始化控制文档", en: "initializing control documents", vi: "Khởi tạo tài liệu kiểm soát" });
638
650
  await this.state.ensureControlDocuments(book.id, this.config.externalContext);
639
651
  // Step 3: Generate style guide from source material
640
652
  if (sourceText.length >= 500) {
641
- this.logStage(stageLanguage, { zh: "提取原作风格指纹", en: "extracting source style fingerprint" });
653
+ this.logStage(stageLanguage, { zh: "提取原作风格指纹", en: "extracting source style fingerprint", vi: "Trích xuất dấu vân văn phong nguyên tác" });
642
654
  await this.tryGenerateStyleGuide(book.id, sourceText, sourceName, stageLanguage);
643
655
  }
644
656
  // Step 4: Initialize chapters directory + snapshot
645
- this.logStage(stageLanguage, { zh: "创建初始快照", en: "creating initial snapshot" });
657
+ this.logStage(stageLanguage, { zh: "创建初始快照", en: "creating initial snapshot", vi: "Tạo snapshot ban đầu" });
646
658
  await mkdir(join(bookDir, "chapters"), { recursive: true });
647
659
  await this.state.saveChapterIndex(book.id, []);
648
660
  await this.state.snapshotState(book.id, 0);
@@ -657,16 +669,16 @@ export class PipelineRunner {
657
669
  async initSpinoffBook(book, parentBookId, direction) {
658
670
  const bookDir = this.state.bookDir(book.id);
659
671
  const stageLanguage = await this.resolveBookLanguage(book);
660
- this.logStage(stageLanguage, { zh: "保存书籍配置", en: "saving book config" });
672
+ this.logStage(stageLanguage, { zh: "保存书籍配置", en: "saving book config", vi: "Lưu cấu hình sách" });
661
673
  await this.state.saveBookConfig(book.id, book);
662
- this.logStage(stageLanguage, { zh: "导入正传正典参照", en: "importing parent canon" });
674
+ this.logStage(stageLanguage, { zh: "导入正传正典参照", en: "importing parent canon", vi: "Nhập chính sử tác phẩm gốc" });
663
675
  const parentCanon = await this.importCanon(book.id, parentBookId);
664
676
  const architect = new ArchitectAgent(this.agentCtxFor("architect", book.id));
665
677
  const reviewer = new FoundationReviewerAgent(this.agentCtxFor("foundation-reviewer", book.id));
666
678
  const { profile: gp } = await this.loadGenreProfile(book.genre);
667
679
  const resolvedLanguage = (book.language ?? gp.language) === "en" ? "en" : "zh";
668
680
  const spinoffContext = buildSpinoffFoundationContext(parentCanon, direction, resolvedLanguage);
669
- this.logStage(stageLanguage, { zh: "生成番外基础设定", en: "generating side-story foundation" });
681
+ this.logStage(stageLanguage, { zh: "生成番外基础设定", en: "generating side-story foundation", vi: "Tạo thiết lập nền tảng ngoại truyện" });
670
682
  const foundation = await this.generateAndReviewFoundation({
671
683
  generate: (reviewFeedback) => architect.generateFoundation(book, spinoffContext, reviewFeedback),
672
684
  reviewer,
@@ -675,11 +687,11 @@ export class PipelineRunner {
675
687
  stageLanguage,
676
688
  targetChapters: book.targetChapters,
677
689
  });
678
- this.logStage(stageLanguage, { zh: "写入基础设定文件", en: "writing foundation files" });
690
+ this.logStage(stageLanguage, { zh: "写入基础设定文件", en: "writing foundation files", vi: "Ghi tệp thiết lập nền tảng" });
679
691
  await architect.writeFoundationFiles(bookDir, foundation, gp.numericalSystem, book.language ?? gp.language);
680
- this.logStage(stageLanguage, { zh: "初始化控制文档", en: "initializing control documents" });
692
+ this.logStage(stageLanguage, { zh: "初始化控制文档", en: "initializing control documents", vi: "Khởi tạo tài liệu kiểm soát" });
681
693
  await this.state.ensureControlDocuments(book.id, direction?.trim() || this.config.externalContext);
682
- this.logStage(stageLanguage, { zh: "创建初始快照", en: "creating initial snapshot" });
694
+ this.logStage(stageLanguage, { zh: "创建初始快照", en: "creating initial snapshot", vi: "Tạo snapshot ban đầu" });
683
695
  await mkdir(join(bookDir, "chapters"), { recursive: true });
684
696
  await this.state.saveChapterIndex(book.id, []);
685
697
  await this.state.snapshotState(book.id, 0);
@@ -695,7 +707,7 @@ export class PipelineRunner {
695
707
  async initImitationBook(book, referenceText, storyIdea, sourceName) {
696
708
  await this.initBook(book, { externalContext: storyIdea });
697
709
  const stageLanguage = await this.resolveBookLanguage(book);
698
- this.logStage(stageLanguage, { zh: "提取参考作品风格指纹", en: "extracting reference style fingerprint" });
710
+ this.logStage(stageLanguage, { zh: "提取参考作品风格指纹", en: "extracting reference style fingerprint", vi: "Trích xuất dấu vân văn phong tác phẩm tham chiếu" });
699
711
  await this.generateStyleGuide(book.id, referenceText, sourceName?.trim() || "reference");
700
712
  }
701
713
  /** Write a single draft chapter. Saves chapter file + truth files + index + snapshot. */
@@ -707,12 +719,12 @@ export class PipelineRunner {
707
719
  const bookDir = this.state.bookDir(bookId);
708
720
  const chapterNumber = await this.state.getNextChapterNumber(bookId);
709
721
  const stageLanguage = await this.resolveBookLanguage(book);
710
- this.logStage(stageLanguage, { zh: "准备章节输入", en: "preparing chapter inputs" });
722
+ this.logStage(stageLanguage, { zh: "准备章节输入", en: "preparing chapter inputs", vi: "Chuẩn bị dữ liệu chương" });
711
723
  const writeInput = await this.prepareWriteInput(book, bookDir, chapterNumber, context ?? this.config.externalContext);
712
724
  const { profile: gp } = await this.loadGenreProfile(book.genre);
713
725
  const lengthSpec = buildLengthSpec(wordCount ?? book.chapterWordCount, book.language ?? gp.language);
714
726
  const writer = new WriterAgent(this.agentCtxFor("writer", bookId));
715
- this.logStage(stageLanguage, { zh: "撰写章节草稿", en: "writing chapter draft" });
727
+ this.logStage(stageLanguage, { zh: "撰写章节草稿", en: "writing chapter draft", vi: "Viết bản nháp chương" });
716
728
  const output = await writer.writeChapter({
717
729
  book,
718
730
  bookDir,
@@ -750,7 +762,7 @@ export class PipelineRunner {
750
762
  const filePath = join(chaptersDir, filename);
751
763
  const resolvedLang = book.language ?? gp.language;
752
764
  // Persist the chapter and its complete truth update as one atomic file set.
753
- this.logStage(stageLanguage, { zh: "落盘草稿与真相文件", en: "persisting draft and truth files" });
765
+ this.logStage(stageLanguage, { zh: "落盘草稿与真相文件", en: "persisting draft and truth files", vi: "Lưu bản nháp và tệp truth" });
754
766
  await writer.saveChapter(bookDir, draftOutput, gp.numericalSystem, resolvedLang);
755
767
  await this.syncLegacyStructuredStateFromMarkdown(bookDir, chapterNumber, draftOutput);
756
768
  await this.syncNarrativeMemoryIndex(bookId);
@@ -776,7 +788,7 @@ export class PipelineRunner {
776
788
  await this.state.saveChapterIndex(bookId, updatedIndex);
777
789
  await this.markBookActiveIfNeeded(bookId);
778
790
  // Snapshot
779
- this.logStage(stageLanguage, { zh: "更新章节索引与快照", en: "updating chapter index and snapshots" });
791
+ this.logStage(stageLanguage, { zh: "更新章节索引与快照", en: "updating chapter index and snapshots", vi: "Cập nhật chỉ mục và snapshot chương" });
780
792
  await this.state.snapshotState(bookId, chapterNumber);
781
793
  await this.syncCurrentStateFactHistory(bookId, chapterNumber);
782
794
  await this.emitWebhook("chapter-complete", bookId, chapterNumber, {
@@ -803,7 +815,7 @@ export class PipelineRunner {
803
815
  const bookDir = this.state.bookDir(bookId);
804
816
  const chapterNumber = await this.state.getNextChapterNumber(bookId);
805
817
  const stageLanguage = await this.resolveBookLanguage(book);
806
- this.logStage(stageLanguage, { zh: "规划下一章意图", en: "planning next chapter intent" });
818
+ this.logStage(stageLanguage, { zh: "规划下一章意图", en: "planning next chapter intent", vi: "Lập kế hoạch cho chương kế tiếp" });
807
819
  const { plan } = await this.createGovernedArtifacts(book, bookDir, chapterNumber, context ?? this.config.externalContext, { reuseExistingIntentWhenContextMissing: false });
808
820
  return {
809
821
  bookId,
@@ -819,7 +831,7 @@ export class PipelineRunner {
819
831
  const bookDir = this.state.bookDir(bookId);
820
832
  const chapterNumber = await this.state.getNextChapterNumber(bookId);
821
833
  const stageLanguage = await this.resolveBookLanguage(book);
822
- this.logStage(stageLanguage, { zh: "组装章节运行时上下文", en: "composing chapter runtime context" });
834
+ this.logStage(stageLanguage, { zh: "组装章节运行时上下文", en: "composing chapter runtime context", vi: "Dựng ngữ cảnh chạy của chương" });
823
835
  const { plan, composed } = await this.createGovernedArtifacts(book, bookDir, chapterNumber, context ?? this.config.externalContext, { reuseExistingIntentWhenContextMissing: true });
824
836
  return {
825
837
  bookId,
@@ -847,6 +859,7 @@ export class PipelineRunner {
847
859
  this.logStage(language, {
848
860
  zh: `审计第${targetChapter}章`,
849
861
  en: `auditing chapter ${targetChapter}`,
862
+ vi: `Kiểm duyệt chương ${targetChapter}`,
850
863
  });
851
864
  const evaluation = await this.evaluateMergedAudit({
852
865
  auditor,
@@ -895,6 +908,7 @@ export class PipelineRunner {
895
908
  this.logStage(stageLanguage, {
896
909
  zh: `加载第${targetChapter}章修订上下文`,
897
910
  en: `loading revision context for chapter ${targetChapter}`,
911
+ vi: `Tải ngữ cảnh chỉnh sửa chương ${targetChapter}`,
898
912
  });
899
913
  const index = await this.state.loadChapterIndex(bookId);
900
914
  const chapterMeta = index.find((ch) => ch.number === targetChapter);
@@ -962,6 +976,7 @@ export class PipelineRunner {
962
976
  this.logStage(stageLanguage, {
963
977
  zh: `修订第${targetChapter}章`,
964
978
  en: `revising chapter ${targetChapter}`,
979
+ vi: `Chỉnh sửa chương ${targetChapter}`,
965
980
  });
966
981
  const reviseOutput = await reviser.reviseChapter(bookDir, content, targetChapter, preRevision.auditResult.issues, mode, book.genre, reviseControlInput
967
982
  ? {
@@ -1138,6 +1153,7 @@ export class PipelineRunner {
1138
1153
  this.logStage(stageLanguage, {
1139
1154
  zh: `落盘第${targetChapter}章修订结果`,
1140
1155
  en: `persisting revision for chapter ${targetChapter}`,
1156
+ vi: `Lưu kết quả chỉnh sửa chương ${targetChapter}`,
1141
1157
  });
1142
1158
  const chaptersDir = join(bookDir, "chapters");
1143
1159
  const files = await readdir(chaptersDir);
@@ -1207,6 +1223,7 @@ export class PipelineRunner {
1207
1223
  this.logStage(stageLanguage, {
1208
1224
  zh: `更新第${targetChapter}章索引与快照`,
1209
1225
  en: `updating chapter index and snapshots for chapter ${targetChapter}`,
1226
+ vi: `Cập nhật chỉ mục và snapshot chương ${targetChapter}`,
1210
1227
  });
1211
1228
  if (isLatestChapter) {
1212
1229
  await this.state.snapshotState(bookId, targetChapter);
@@ -1434,7 +1451,7 @@ export class PipelineRunner {
1434
1451
  await this.assertNoPendingStateRepair(bookId);
1435
1452
  const chapterNumber = await this.state.getNextChapterNumber(bookId);
1436
1453
  const stageLanguage = await this.resolveBookLanguage(book);
1437
- this.logStage(stageLanguage, { zh: "准备章节输入", en: "preparing chapter inputs" });
1454
+ this.logStage(stageLanguage, { zh: "准备章节输入", en: "preparing chapter inputs", vi: "Chuẩn bị dữ liệu chương" });
1438
1455
  const writeInput = await this.prepareWriteInput(book, bookDir, chapterNumber, externalContext);
1439
1456
  const reducedControlInput = {
1440
1457
  chapterIntent: writeInput.chapterIntent,
@@ -1452,7 +1469,7 @@ export class PipelineRunner {
1452
1469
  const parsedBookRules = (await readBookRules(bookDir))?.rules ?? null;
1453
1470
  // 1. Write chapter
1454
1471
  const writer = new WriterAgent(this.agentCtxFor("writer", bookId));
1455
- this.logStage(stageLanguage, { zh: "撰写章节草稿", en: "writing chapter draft" });
1472
+ this.logStage(stageLanguage, { zh: "撰写章节草稿", en: "writing chapter draft", vi: "Viết bản nháp chương" });
1456
1473
  const output = await writer.writeChapter({
1457
1474
  book,
1458
1475
  bookDir,
@@ -1476,7 +1493,7 @@ export class PipelineRunner {
1476
1493
  // C4a: write-only checkpoint. Stop right after the draft — skip the
1477
1494
  // automatic audit→revise loop (which silently doubled chapter time when it
1478
1495
  // fired). The user drives review / revise / accept afterwards.
1479
- this.logStage(stageLanguage, { zh: "写完即停(手动审查模式)", en: "draft written — stopping for manual review" });
1496
+ this.logStage(stageLanguage, { zh: "写完即停(手动审查模式)", en: "draft written — stopping for manual review", vi: "Đã viết xong bản nháp — dừng để bạn tự duyệt" });
1480
1497
  finalContent = normalizePostWriteSurface(output.content, pipelineLang);
1481
1498
  this.assertChapterContentNotEmpty(finalContent, chapterNumber, "manual write");
1482
1499
  finalWordCount = countChapterLength(finalContent, lengthSpec.countingMode);
@@ -1539,8 +1556,8 @@ export class PipelineRunner {
1539
1556
  this.throwIfOperationAborted();
1540
1557
  this.throwIfOperationAborted();
1541
1558
  // 4. Save the final chapter and truth files from a single persistence source
1542
- this.logStage(stageLanguage, { zh: "落盘最终章节", en: "persisting final chapter" });
1543
- this.logStage(stageLanguage, { zh: "生成最终真相文件", en: "rebuilding final truth files" });
1559
+ this.logStage(stageLanguage, { zh: "落盘最终章节", en: "persisting final chapter", vi: "Lưu chương hoàn chỉnh" });
1560
+ this.logStage(stageLanguage, { zh: "生成最终真相文件", en: "rebuilding final truth files", vi: "Tạo tệp truth cuối cùng" });
1544
1561
  const chapterIndexBeforePersist = await this.state.loadChapterIndex(bookId);
1545
1562
  const { resolveDuplicateTitle } = await import("../agents/post-write-validator.js");
1546
1563
  const initialTitleResolution = resolveDuplicateTitle(output.title, chapterIndexBeforePersist.map((chapter) => chapter.title), pipelineLang, { content: finalContent });
@@ -1620,7 +1637,7 @@ export class PipelineRunner {
1620
1637
  });
1621
1638
  this.logLengthWarnings(lengthWarnings);
1622
1639
  // 4.1 Validate settler output before writing
1623
- this.logStage(stageLanguage, { zh: "校验真相文件变更", en: "validating truth file updates" });
1640
+ this.logStage(stageLanguage, { zh: "校验真相文件变更", en: "validating truth file updates", vi: "Kiểm tra thay đổi tệp truth" });
1624
1641
  const storyDir = join(bookDir, "story");
1625
1642
  const [oldState, oldHooks, oldLedger, authorityStoryFrame, authorityBookRules, authorityChapterSummaries] = await Promise.all([
1626
1643
  readFile(join(storyDir, "current_state.md"), "utf-8").catch(() => ""),
@@ -1703,7 +1720,7 @@ export class PipelineRunner {
1703
1720
  saveChapter: () => writer.saveChapter(bookDir, persistenceOutput, gp.numericalSystem, pipelineLang),
1704
1721
  saveTruthFiles: async () => {
1705
1722
  await this.syncLegacyStructuredStateFromMarkdown(bookDir, chapterNumber, persistenceOutput);
1706
- this.logStage(stageLanguage, { zh: "同步记忆索引", en: "syncing memory indexes" });
1723
+ this.logStage(stageLanguage, { zh: "同步记忆索引", en: "syncing memory indexes", vi: "Đồng bộ chỉ mục bộ nhớ" });
1707
1724
  await this.syncNarrativeMemoryIndex(bookId);
1708
1725
  },
1709
1726
  saveChapterIndex: (index) => this.state.saveChapterIndex(bookId, index),
@@ -1716,7 +1733,7 @@ export class PipelineRunner {
1716
1733
  }).catch(() => undefined),
1717
1734
  snapshotState: () => this.state.snapshotState(bookId, chapterNumber),
1718
1735
  syncCurrentStateFactHistory: () => this.syncCurrentStateFactHistory(bookId, chapterNumber),
1719
- logSnapshotStage: () => this.logStage(stageLanguage, { zh: "更新章节索引与快照", en: "updating chapter index and snapshots" }),
1736
+ logSnapshotStage: () => this.logStage(stageLanguage, { zh: "更新章节索引与快照", en: "updating chapter index and snapshots", vi: "Cập nhật chỉ mục và snapshot chương" }),
1720
1737
  });
1721
1738
  // 6. Send notification
1722
1739
  if (this.config.notifyChannels && this.config.notifyChannels.length > 0) {
@@ -1781,7 +1798,7 @@ export class PipelineRunner {
1781
1798
  if (targetChapter !== latestChapter) {
1782
1799
  throw new Error(`Only the latest state-degraded chapter can be repaired safely (latest is ${latestChapter}).`);
1783
1800
  }
1784
- this.logStage(stageLanguage, { zh: "修复章节状态结算", en: "repairing chapter state settlement" });
1801
+ this.logStage(stageLanguage, { zh: "修复章节状态结算", en: "repairing chapter state settlement", vi: "Sửa kết toán trạng thái chương" });
1785
1802
  const { profile: gp } = await this.loadGenreProfile(book.genre);
1786
1803
  const pipelineLang = book.language ?? gp.language;
1787
1804
  const content = await this.readChapterContent(bookDir, targetChapter);
@@ -1883,7 +1900,7 @@ export class PipelineRunner {
1883
1900
  if (targetChapter !== latestChapter) {
1884
1901
  throw new Error(`Only the latest persisted chapter can be synced safely (latest is ${latestChapter}).`);
1885
1902
  }
1886
- this.logStage(stageLanguage, { zh: "根据已编辑正文同步真相文件与索引", en: "syncing truth files and indexes from edited chapter body" });
1903
+ this.logStage(stageLanguage, { zh: "根据已编辑正文同步真相文件与索引", en: "syncing truth files and indexes from edited chapter body", vi: "Đồng bộ tệp truth và chỉ mục theo nội dung chương đã sửa" });
1887
1904
  const { profile: gp } = await this.loadGenreProfile(book.genre);
1888
1905
  const pipelineLang = book.language ?? gp.language;
1889
1906
  const content = await this.readChapterContent(bookDir, targetChapter);