@actalk/inkos-core 0.3.6 → 0.4.1

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 (110) hide show
  1. package/dist/agents/architect.d.ts.map +1 -1
  2. package/dist/agents/architect.js +17 -3
  3. package/dist/agents/architect.js.map +1 -1
  4. package/dist/agents/base.d.ts +10 -0
  5. package/dist/agents/base.d.ts.map +1 -1
  6. package/dist/agents/base.js +12 -0
  7. package/dist/agents/base.js.map +1 -1
  8. package/dist/agents/continuity.d.ts +3 -1
  9. package/dist/agents/continuity.d.ts.map +1 -1
  10. package/dist/agents/continuity.js +78 -13
  11. package/dist/agents/continuity.js.map +1 -1
  12. package/dist/agents/post-write-validator.d.ts +16 -0
  13. package/dist/agents/post-write-validator.d.ts.map +1 -0
  14. package/dist/agents/post-write-validator.js +204 -0
  15. package/dist/agents/post-write-validator.js.map +1 -0
  16. package/dist/agents/reviser.d.ts +1 -1
  17. package/dist/agents/reviser.d.ts.map +1 -1
  18. package/dist/agents/reviser.js +16 -3
  19. package/dist/agents/reviser.js.map +1 -1
  20. package/dist/agents/sensitive-words.d.ts +22 -0
  21. package/dist/agents/sensitive-words.d.ts.map +1 -0
  22. package/dist/agents/sensitive-words.js +91 -0
  23. package/dist/agents/sensitive-words.js.map +1 -0
  24. package/dist/agents/writer-prompts.d.ts +1 -1
  25. package/dist/agents/writer-prompts.d.ts.map +1 -1
  26. package/dist/agents/writer-prompts.js +122 -11
  27. package/dist/agents/writer-prompts.js.map +1 -1
  28. package/dist/agents/writer.d.ts +15 -0
  29. package/dist/agents/writer.d.ts.map +1 -1
  30. package/dist/agents/writer.js +150 -5
  31. package/dist/agents/writer.js.map +1 -1
  32. package/dist/index.d.ts +3 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +4 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/llm/provider.d.ts +1 -0
  37. package/dist/llm/provider.d.ts.map +1 -1
  38. package/dist/llm/provider.js +9 -4
  39. package/dist/llm/provider.js.map +1 -1
  40. package/dist/models/book-rules.d.ts.map +1 -1
  41. package/dist/models/book-rules.js +15 -7
  42. package/dist/models/book-rules.js.map +1 -1
  43. package/dist/models/book.d.ts +4 -4
  44. package/dist/models/book.d.ts.map +1 -1
  45. package/dist/models/book.js +0 -3
  46. package/dist/models/book.js.map +1 -1
  47. package/dist/models/project.d.ts +23 -7
  48. package/dist/models/project.d.ts.map +1 -1
  49. package/dist/models/project.js +13 -6
  50. package/dist/models/project.js.map +1 -1
  51. package/dist/notify/webhook.d.ts +1 -1
  52. package/dist/notify/webhook.d.ts.map +1 -1
  53. package/dist/notify/webhook.js.map +1 -1
  54. package/dist/pipeline/agent.d.ts.map +1 -1
  55. package/dist/pipeline/agent.js +76 -8
  56. package/dist/pipeline/agent.js.map +1 -1
  57. package/dist/pipeline/runner.d.ts +14 -1
  58. package/dist/pipeline/runner.d.ts.map +1 -1
  59. package/dist/pipeline/runner.js +267 -30
  60. package/dist/pipeline/runner.js.map +1 -1
  61. package/dist/pipeline/scheduler.d.ts +20 -2
  62. package/dist/pipeline/scheduler.d.ts.map +1 -1
  63. package/dist/pipeline/scheduler.js +162 -32
  64. package/dist/pipeline/scheduler.js.map +1 -1
  65. package/dist/state/manager.d.ts.map +1 -1
  66. package/dist/state/manager.js +3 -0
  67. package/dist/state/manager.js.map +1 -1
  68. package/dist/utils/web-search.d.ts +13 -0
  69. package/dist/utils/web-search.d.ts.map +1 -0
  70. package/dist/utils/web-search.js +37 -0
  71. package/dist/utils/web-search.js.map +1 -0
  72. package/genres/horror.md +1 -1
  73. package/genres/other.md +1 -1
  74. package/genres/urban.md +1 -1
  75. package/genres/xianxia.md +1 -1
  76. package/genres/xuanhuan.md +1 -1
  77. package/package.json +11 -8
  78. package/LICENSE +0 -21
  79. package/dist/__tests__/ai-tells.test.d.ts +0 -2
  80. package/dist/__tests__/ai-tells.test.d.ts.map +0 -1
  81. package/dist/__tests__/ai-tells.test.js +0 -78
  82. package/dist/__tests__/ai-tells.test.js.map +0 -1
  83. package/dist/__tests__/detection-insights.test.d.ts +0 -2
  84. package/dist/__tests__/detection-insights.test.d.ts.map +0 -1
  85. package/dist/__tests__/detection-insights.test.js +0 -50
  86. package/dist/__tests__/detection-insights.test.js.map +0 -1
  87. package/dist/__tests__/detector.test.d.ts +0 -2
  88. package/dist/__tests__/detector.test.d.ts.map +0 -1
  89. package/dist/__tests__/detector.test.js +0 -71
  90. package/dist/__tests__/detector.test.js.map +0 -1
  91. package/dist/__tests__/models.test.d.ts +0 -2
  92. package/dist/__tests__/models.test.d.ts.map +0 -1
  93. package/dist/__tests__/models.test.js +0 -328
  94. package/dist/__tests__/models.test.js.map +0 -1
  95. package/dist/__tests__/state-manager.test.d.ts +0 -2
  96. package/dist/__tests__/state-manager.test.d.ts.map +0 -1
  97. package/dist/__tests__/state-manager.test.js +0 -264
  98. package/dist/__tests__/state-manager.test.js.map +0 -1
  99. package/dist/__tests__/style-analyzer.test.d.ts +0 -2
  100. package/dist/__tests__/style-analyzer.test.d.ts.map +0 -1
  101. package/dist/__tests__/style-analyzer.test.js +0 -53
  102. package/dist/__tests__/style-analyzer.test.js.map +0 -1
  103. package/dist/__tests__/webhook.test.d.ts +0 -2
  104. package/dist/__tests__/webhook.test.d.ts.map +0 -1
  105. package/dist/__tests__/webhook.test.js +0 -62
  106. package/dist/__tests__/webhook.test.js.map +0 -1
  107. package/dist/__tests__/writer-parser.test.d.ts +0 -2
  108. package/dist/__tests__/writer-parser.test.d.ts.map +0 -1
  109. package/dist/__tests__/writer-parser.test.js +0 -195
  110. package/dist/__tests__/writer-parser.test.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { chatCompletion } from "../llm/provider.js";
1
2
  import { ArchitectAgent } from "../agents/architect.js";
2
3
  import { WriterAgent } from "../agents/writer.js";
3
4
  import { ContinuityAuditor } from "../agents/continuity.js";
@@ -5,9 +6,10 @@ import { ReviserAgent } from "../agents/reviser.js";
5
6
  import { RadarAgent } from "../agents/radar.js";
6
7
  import { readGenreProfile } from "../agents/rules-reader.js";
7
8
  import { analyzeAITells } from "../agents/ai-tells.js";
9
+ import { analyzeSensitiveWords } from "../agents/sensitive-words.js";
8
10
  import { StateManager } from "../state/manager.js";
9
11
  import { dispatchNotification, dispatchWebhookEvent } from "../notify/dispatcher.js";
10
- import { readFile, readdir, writeFile } from "node:fs/promises";
12
+ import { readFile, readdir, writeFile, mkdir } from "node:fs/promises";
11
13
  import { join } from "node:path";
12
14
  export class PipelineRunner {
13
15
  state;
@@ -24,6 +26,17 @@ export class PipelineRunner {
24
26
  bookId,
25
27
  };
26
28
  }
29
+ modelFor(agentName) {
30
+ return this.config.modelOverrides?.[agentName] ?? this.config.model;
31
+ }
32
+ agentCtxFor(agent, bookId) {
33
+ return {
34
+ client: this.config.client,
35
+ model: this.modelFor(agent),
36
+ projectRoot: this.config.projectRoot,
37
+ bookId,
38
+ };
39
+ }
27
40
  async loadGenreProfile(genre) {
28
41
  const parsed = await readGenreProfile(this.config.projectRoot, genre);
29
42
  return { profile: parsed.profile };
@@ -32,11 +45,11 @@ export class PipelineRunner {
32
45
  // Atomic operations (composable by OpenClaw or agent mode)
33
46
  // ---------------------------------------------------------------------------
34
47
  async runRadar() {
35
- const radar = new RadarAgent(this.agentCtx(), this.config.radarSources);
48
+ const radar = new RadarAgent(this.agentCtxFor("radar"), this.config.radarSources);
36
49
  return radar.scan();
37
50
  }
38
51
  async initBook(book) {
39
- const architect = new ArchitectAgent(this.agentCtx(book.id));
52
+ const architect = new ArchitectAgent(this.agentCtxFor("architect", book.id));
40
53
  const bookDir = this.state.bookDir(book.id);
41
54
  await this.state.saveBookConfig(book.id, book);
42
55
  const { profile: gp } = await this.loadGenreProfile(book.genre);
@@ -52,7 +65,7 @@ export class PipelineRunner {
52
65
  const bookDir = this.state.bookDir(bookId);
53
66
  const chapterNumber = await this.state.getNextChapterNumber(bookId);
54
67
  const { profile: gp } = await this.loadGenreProfile(book.genre);
55
- const writer = new WriterAgent(this.agentCtx(bookId));
68
+ const writer = new WriterAgent(this.agentCtxFor("writer", bookId));
56
69
  const output = await writer.writeChapter({
57
70
  book,
58
71
  bookDir,
@@ -104,16 +117,20 @@ export class PipelineRunner {
104
117
  throw new Error(`No chapters to audit for "${bookId}"`);
105
118
  }
106
119
  const content = await this.readChapterContent(bookDir, targetChapter);
107
- const auditor = new ContinuityAuditor(this.agentCtx(bookId));
120
+ const auditor = new ContinuityAuditor(this.agentCtxFor("auditor", bookId));
108
121
  const llmResult = await auditor.auditChapter(bookDir, content, targetChapter, book.genre);
109
122
  // Merge rule-based AI-tell detection
110
123
  const aiTells = analyzeAITells(content);
124
+ // Merge sensitive word detection
125
+ const sensitiveResult = analyzeSensitiveWords(content);
126
+ const hasBlockedWords = sensitiveResult.found.some((f) => f.severity === "block");
111
127
  const mergedIssues = [
112
128
  ...llmResult.issues,
113
129
  ...aiTells.issues,
130
+ ...sensitiveResult.issues,
114
131
  ];
115
132
  const result = {
116
- passed: llmResult.passed,
133
+ passed: hasBlockedWords ? false : llmResult.passed,
117
134
  issues: mergedIssues,
118
135
  summary: llmResult.summary,
119
136
  };
@@ -149,13 +166,13 @@ export class PipelineRunner {
149
166
  }
150
167
  // Re-audit to get structured issues (index only stores strings)
151
168
  const content = await this.readChapterContent(bookDir, targetChapter);
152
- const auditor = new ContinuityAuditor(this.agentCtx(bookId));
169
+ const auditor = new ContinuityAuditor(this.agentCtxFor("auditor", bookId));
153
170
  const auditResult = await auditor.auditChapter(bookDir, content, targetChapter, book.genre);
154
171
  if (auditResult.passed) {
155
172
  return { chapterNumber: targetChapter, wordCount: content.length, fixedIssues: ["No issues to fix"] };
156
173
  }
157
174
  const { profile: gp } = await this.loadGenreProfile(book.genre);
158
- const reviser = new ReviserAgent(this.agentCtx(bookId));
175
+ const reviser = new ReviserAgent(this.agentCtxFor("reviser", bookId));
159
176
  const reviseOutput = await reviser.reviseChapter(bookDir, content, targetChapter, auditResult.issues, mode, book.genre);
160
177
  if (reviseOutput.revisedContent.length === 0) {
161
178
  throw new Error("Reviser returned empty content");
@@ -248,57 +265,89 @@ export class PipelineRunner {
248
265
  // ---------------------------------------------------------------------------
249
266
  // Full pipeline (convenience — runs draft + audit + revise in one shot)
250
267
  // ---------------------------------------------------------------------------
251
- async writeNextChapter(bookId, wordCount) {
268
+ async writeNextChapter(bookId, wordCount, temperatureOverride) {
252
269
  const releaseLock = await this.state.acquireBookLock(bookId);
253
270
  try {
254
- return await this._writeNextChapterLocked(bookId, wordCount);
271
+ return await this._writeNextChapterLocked(bookId, wordCount, temperatureOverride);
255
272
  }
256
273
  finally {
257
274
  await releaseLock();
258
275
  }
259
276
  }
260
- async _writeNextChapterLocked(bookId, wordCount) {
277
+ async _writeNextChapterLocked(bookId, wordCount, temperatureOverride) {
261
278
  const book = await this.state.loadBookConfig(bookId);
262
279
  const bookDir = this.state.bookDir(bookId);
263
280
  const chapterNumber = await this.state.getNextChapterNumber(bookId);
264
281
  const { profile: gp } = await this.loadGenreProfile(book.genre);
265
282
  // 1. Write chapter
266
- const writer = new WriterAgent(this.agentCtx(bookId));
283
+ const writer = new WriterAgent(this.agentCtxFor("writer", bookId));
267
284
  const output = await writer.writeChapter({
268
285
  book,
269
286
  bookDir,
270
287
  chapterNumber,
271
288
  externalContext: this.config.externalContext,
272
289
  ...(wordCount ? { wordCountOverride: wordCount } : {}),
290
+ ...(temperatureOverride ? { temperatureOverride } : {}),
273
291
  });
274
- // 2. Audit chapter
275
- const auditor = new ContinuityAuditor(this.agentCtx(bookId));
276
- const llmAudit = await auditor.auditChapter(bookDir, output.content, chapterNumber, book.genre);
277
- const aiTellsResult = analyzeAITells(output.content);
278
- let auditResult = {
279
- passed: llmAudit.passed,
280
- issues: [...llmAudit.issues, ...aiTellsResult.issues],
281
- summary: llmAudit.summary,
282
- };
292
+ // 2a. Post-write error gate: if deterministic rules found errors, auto-fix before LLM audit
283
293
  let finalContent = output.content;
284
294
  let finalWordCount = output.wordCount;
285
295
  let revised = false;
296
+ if (output.postWriteErrors.length > 0) {
297
+ process.stderr.write(`[pipeline] ${output.postWriteErrors.length} post-write errors detected, triggering spot-fix before audit\n`);
298
+ const reviser = new ReviserAgent(this.agentCtxFor("reviser", bookId));
299
+ const spotFixIssues = output.postWriteErrors.map((v) => ({
300
+ severity: "critical",
301
+ category: v.rule,
302
+ description: v.description,
303
+ suggestion: v.suggestion,
304
+ }));
305
+ const fixResult = await reviser.reviseChapter(bookDir, finalContent, chapterNumber, spotFixIssues, "spot-fix", book.genre);
306
+ if (fixResult.revisedContent.length > 0) {
307
+ finalContent = fixResult.revisedContent;
308
+ finalWordCount = fixResult.wordCount;
309
+ revised = true;
310
+ }
311
+ }
312
+ // 2b. LLM audit
313
+ const auditor = new ContinuityAuditor(this.agentCtxFor("auditor", bookId));
314
+ const llmAudit = await auditor.auditChapter(bookDir, finalContent, chapterNumber, book.genre);
315
+ const aiTellsResult = analyzeAITells(finalContent);
316
+ const sensitiveWriteResult = analyzeSensitiveWords(finalContent);
317
+ const hasBlockedWriteWords = sensitiveWriteResult.found.some((f) => f.severity === "block");
318
+ let auditResult = {
319
+ passed: hasBlockedWriteWords ? false : llmAudit.passed,
320
+ issues: [...llmAudit.issues, ...aiTellsResult.issues, ...sensitiveWriteResult.issues],
321
+ summary: llmAudit.summary,
322
+ };
286
323
  // 3. If audit fails, try auto-revise once
287
324
  if (!auditResult.passed) {
288
325
  const criticalIssues = auditResult.issues.filter((i) => i.severity === "critical");
289
326
  if (criticalIssues.length > 0) {
290
- const reviser = new ReviserAgent(this.agentCtx(bookId));
291
- const reviseOutput = await reviser.reviseChapter(bookDir, output.content, chapterNumber, auditResult.issues, "rewrite", book.genre);
327
+ const reviser = new ReviserAgent(this.agentCtxFor("reviser", bookId));
328
+ const reviseOutput = await reviser.reviseChapter(bookDir, output.content, chapterNumber, auditResult.issues, "spot-fix", book.genre);
292
329
  if (reviseOutput.revisedContent.length > 0) {
293
- finalContent = reviseOutput.revisedContent;
294
- finalWordCount = reviseOutput.wordCount;
295
- revised = true;
296
- // Re-audit the revised content
297
- const reAudit = await auditor.auditChapter(bookDir, finalContent, chapterNumber, book.genre);
330
+ // Guard: reject revision if AI markers increased
331
+ const preMarkers = analyzeAITells(output.content);
332
+ const postMarkers = analyzeAITells(reviseOutput.revisedContent);
333
+ const preCount = preMarkers.issues.length;
334
+ const postCount = postMarkers.issues.length;
335
+ if (postCount > preCount) {
336
+ // Revision made text MORE AI-like — discard it, keep original
337
+ }
338
+ else {
339
+ finalContent = reviseOutput.revisedContent;
340
+ finalWordCount = reviseOutput.wordCount;
341
+ revised = true;
342
+ }
343
+ // Re-audit the (possibly revised) content
344
+ const reAudit = await auditor.auditChapter(bookDir, finalContent, chapterNumber, book.genre, { temperature: 0 });
298
345
  const reAITells = analyzeAITells(finalContent);
346
+ const reSensitive = analyzeSensitiveWords(finalContent);
347
+ const reHasBlocked = reSensitive.found.some((f) => f.severity === "block");
299
348
  auditResult = {
300
- passed: reAudit.passed,
301
- issues: [...reAudit.issues, ...reAITells.issues],
349
+ passed: reHasBlocked ? false : reAudit.passed,
350
+ issues: [...reAudit.issues, ...reAITells.issues, ...reSensitive.issues],
302
351
  summary: reAudit.summary,
303
352
  };
304
353
  // Update state files from revision
@@ -375,6 +424,194 @@ export class PipelineRunner {
375
424
  };
376
425
  }
377
426
  // ---------------------------------------------------------------------------
427
+ // Import operations (style imitation + canon for spinoff)
428
+ // ---------------------------------------------------------------------------
429
+ /**
430
+ * Generate a qualitative style guide from reference text via LLM.
431
+ * Also saves the statistical style_profile.json.
432
+ */
433
+ async generateStyleGuide(bookId, referenceText, sourceName) {
434
+ if (referenceText.length < 500) {
435
+ throw new Error(`Reference text too short (${referenceText.length} chars, minimum 500). Provide at least 2000 chars for reliable style extraction.`);
436
+ }
437
+ const { analyzeStyle } = await import("../agents/style-analyzer.js");
438
+ const bookDir = this.state.bookDir(bookId);
439
+ const storyDir = join(bookDir, "story");
440
+ await mkdir(storyDir, { recursive: true });
441
+ // Statistical fingerprint
442
+ const profile = analyzeStyle(referenceText, sourceName);
443
+ await writeFile(join(storyDir, "style_profile.json"), JSON.stringify(profile, null, 2), "utf-8");
444
+ // LLM qualitative extraction
445
+ const response = await chatCompletion(this.config.client, this.config.model, [
446
+ {
447
+ role: "system",
448
+ content: `你是一位文学风格分析专家。分析参考文本的写作风格,提取可供模仿的定性特征。
449
+
450
+ 输出格式(Markdown):
451
+ ## 叙事声音与语气
452
+ (冷峻/热烈/讽刺/温情/...,附1-2个原文例句)
453
+
454
+ ## 对话风格
455
+ (角色说话的共性特征:句子长短、口头禅倾向、方言痕迹、对话节奏)
456
+
457
+ ## 场景描写特征
458
+ (五感偏好、意象选择、描写密度、环境与情绪的关联方式)
459
+
460
+ ## 转折与衔接手法
461
+ (场景如何切换、时间跳跃的处理方式、段落间的过渡特征)
462
+
463
+ ## 节奏特征
464
+ (长短句分布、段落长度偏好、高潮/舒缓的交替方式)
465
+
466
+ ## 词汇偏好
467
+ (高频特色用词、比喻/修辞倾向、口语化程度)
468
+
469
+ ## 情绪表达方式
470
+ (直白抒情 vs 动作外化、内心独白的频率和风格)
471
+
472
+ ## 独特习惯
473
+ (任何值得模仿的个人写作习惯)
474
+
475
+ 分析必须基于原文实际特征,不要泛泛而谈。每个部分用1-2个原文例句佐证。`,
476
+ },
477
+ {
478
+ role: "user",
479
+ content: `分析以下参考文本的写作风格:\n\n${referenceText.slice(0, 20000)}`,
480
+ },
481
+ ], { temperature: 0.3, maxTokens: 4096 });
482
+ await writeFile(join(storyDir, "style_guide.md"), response.content, "utf-8");
483
+ return response.content;
484
+ }
485
+ /**
486
+ * Import canon from parent book for spinoff writing.
487
+ * Reads parent's truth files, uses LLM to generate parent_canon.md in target book.
488
+ */
489
+ async importCanon(targetBookId, parentBookId) {
490
+ // Validate both books exist
491
+ const bookIds = await this.state.listBooks();
492
+ if (!bookIds.includes(parentBookId)) {
493
+ throw new Error(`Parent book "${parentBookId}" not found. Available: ${bookIds.join(", ") || "(none)"}`);
494
+ }
495
+ if (!bookIds.includes(targetBookId)) {
496
+ throw new Error(`Target book "${targetBookId}" not found. Available: ${bookIds.join(", ") || "(none)"}`);
497
+ }
498
+ const parentDir = this.state.bookDir(parentBookId);
499
+ const targetDir = this.state.bookDir(targetBookId);
500
+ const storyDir = join(targetDir, "story");
501
+ await mkdir(storyDir, { recursive: true });
502
+ const readSafe = async (path) => {
503
+ try {
504
+ return await readFile(path, "utf-8");
505
+ }
506
+ catch {
507
+ return "(无)";
508
+ }
509
+ };
510
+ const parentBook = await this.state.loadBookConfig(parentBookId);
511
+ const [storyBible, currentState, ledger, hooks, summaries, subplots, emotions, matrix] = await Promise.all([
512
+ readSafe(join(parentDir, "story/story_bible.md")),
513
+ readSafe(join(parentDir, "story/current_state.md")),
514
+ readSafe(join(parentDir, "story/particle_ledger.md")),
515
+ readSafe(join(parentDir, "story/pending_hooks.md")),
516
+ readSafe(join(parentDir, "story/chapter_summaries.md")),
517
+ readSafe(join(parentDir, "story/subplot_board.md")),
518
+ readSafe(join(parentDir, "story/emotional_arcs.md")),
519
+ readSafe(join(parentDir, "story/character_matrix.md")),
520
+ ]);
521
+ const response = await chatCompletion(this.config.client, this.config.model, [
522
+ {
523
+ role: "system",
524
+ content: `你是一位网络小说架构师。基于正传的全部设定和状态文件,生成一份完整的"正传正典参照"文档,供番外写作和审计使用。
525
+
526
+ 输出格式(Markdown):
527
+ # 正传正典(《{正传书名}》)
528
+
529
+ ## 世界规则(完整,来自正传设定)
530
+ (力量体系、地理设定、阵营关系、核心规则——完整复制,不压缩)
531
+
532
+ ## 正典约束(不可违反的事实)
533
+ | 约束ID | 类型 | 约束内容 | 严重性 |
534
+ |---|---|---|---|
535
+ | C01 | 人物存亡 | ... | critical |
536
+ (列出所有硬性约束:谁活着、谁死了、什么事件已经发生、什么规则不可违反)
537
+
538
+ ## 角色快照
539
+ | 角色 | 当前状态 | 性格底色 | 对话特征 | 已知信息 | 未知信息 |
540
+ |---|---|---|---|---|---|
541
+ (从状态卡和角色矩阵中提取每个重要角色的完整快照)
542
+
543
+ ## 角色双态处理原则
544
+ - 未来会变强的角色:写潜力暗示
545
+ - 未来会黑化的角色:写微小裂痕
546
+ - 未来会死的角色:写导致死亡的性格底色
547
+
548
+ ## 关键事件时间线
549
+ | 章节 | 事件 | 涉及角色 | 对番外的约束 |
550
+ |---|---|---|---|
551
+ (从章节摘要中提取关键事件)
552
+
553
+ ## 伏笔状态
554
+ | Hook ID | 类型 | 状态 | 内容 | 预期回收 |
555
+ |---|---|---|---|---|
556
+
557
+ ## 资源账本快照
558
+ (当前资源状态)
559
+
560
+ ---
561
+ meta:
562
+ parentBookId: "{parentBookId}"
563
+ parentTitle: "{正传书名}"
564
+ generatedAt: "{ISO timestamp}"
565
+
566
+ 要求:
567
+ 1. 世界规则完整复制,不压缩——准确性优先
568
+ 2. 正典约束必须穷尽,遗漏会导致番外与正传矛盾
569
+ 3. 角色快照必须包含信息边界(已知/未知),防止番外中角色引用不该知道的信息`,
570
+ },
571
+ {
572
+ role: "user",
573
+ content: `正传书名:${parentBook.title}
574
+ 正传ID:${parentBookId}
575
+
576
+ ## 正传世界设定
577
+ ${storyBible}
578
+
579
+ ## 正传当前状态卡
580
+ ${currentState}
581
+
582
+ ## 正传资源账本
583
+ ${ledger}
584
+
585
+ ## 正传伏笔池
586
+ ${hooks}
587
+
588
+ ## 正传章节摘要
589
+ ${summaries}
590
+
591
+ ## 正传支线进度
592
+ ${subplots}
593
+
594
+ ## 正传情感弧线
595
+ ${emotions}
596
+
597
+ ## 正传角色矩阵
598
+ ${matrix}`,
599
+ },
600
+ ], { temperature: 0.3, maxTokens: 16384 });
601
+ // Append deterministic meta block (LLM may hallucinate timestamps)
602
+ const metaBlock = [
603
+ "",
604
+ "---",
605
+ "meta:",
606
+ ` parentBookId: "${parentBookId}"`,
607
+ ` parentTitle: "${parentBook.title}"`,
608
+ ` generatedAt: "${new Date().toISOString()}"`,
609
+ ].join("\n");
610
+ const canon = response.content + metaBlock;
611
+ await writeFile(join(storyDir, "parent_canon.md"), canon, "utf-8");
612
+ return canon;
613
+ }
614
+ // ---------------------------------------------------------------------------
378
615
  // Helpers
379
616
  // ---------------------------------------------------------------------------
380
617
  async emitWebhook(event, bookId, chapterNumber, data) {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import type { PipelineConfig } from "./runner.js";
2
- import type { QualityGates } from "../models/project.js";
2
+ import type { QualityGates, DetectionConfig } from "../models/project.js";
3
3
  export interface SchedulerConfig extends PipelineConfig {
4
4
  readonly radarCron: string;
5
5
  readonly writeCron: string;
6
- readonly auditCron: string;
7
6
  readonly maxConcurrentBooks: number;
7
+ readonly chaptersPerCycle: number;
8
+ readonly retryDelayMs: number;
9
+ readonly cooldownAfterChapterMs: number;
10
+ readonly maxChaptersPerDay: number;
8
11
  readonly qualityGates?: QualityGates;
12
+ readonly detection?: DetectionConfig;
9
13
  readonly onChapterComplete?: (bookId: string, chapter: number, status: string) => void;
10
14
  readonly onError?: (bookId: string, error: Error) => void;
11
15
  readonly onPause?: (bookId: string, reason: string) => void;
@@ -18,6 +22,8 @@ export declare class Scheduler {
18
22
  private running;
19
23
  private consecutiveFailures;
20
24
  private pausedBooks;
25
+ private failureDimensions;
26
+ private dailyChapterCount;
21
27
  constructor(config: SchedulerConfig);
22
28
  start(): Promise<void>;
23
29
  stop(): void;
@@ -27,9 +33,21 @@ export declare class Scheduler {
27
33
  /** Check if a book is paused. */
28
34
  isBookPaused(bookId: string): boolean;
29
35
  private get gates();
36
+ /** Check if daily cap is reached across all books. */
37
+ private isDailyCapReached;
38
+ /** Increment daily chapter counter. */
39
+ private recordChapterWritten;
30
40
  private runWriteCycle;
41
+ /** Process a single book: write chaptersPerCycle chapters with retry + cooldown. */
42
+ private processBook;
43
+ /** Write one chapter for a book. Returns true if approved. */
44
+ private writeOneChapter;
45
+ private runDetection;
31
46
  private handleAuditFailure;
32
47
  private runRadarScan;
48
+ private emitDiagnosticAlert;
49
+ private readChapterContent;
33
50
  private cronToMs;
51
+ private sleep;
34
52
  }
35
53
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/pipeline/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAQD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,WAAW,CAAqB;gBAE5B,MAAM,EAAE,eAAe;IAM7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B,IAAI,IAAI,IAAI;IAQZ,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,4BAA4B;IAC5B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhC,iCAAiC;IACjC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIrC,OAAO,KAAK,KAAK,GAMhB;YAEa,aAAa;YAsCb,kBAAkB;YAoClB,YAAY;IAQ1B,OAAO,CAAC,QAAQ;CAiBjB"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/pipeline/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI1E,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAQD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,iBAAiB,CAA0C;IAEnE,OAAO,CAAC,iBAAiB,CAA6B;gBAE1C,MAAM,EAAE,eAAe;IAM7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B,IAAI,IAAI,IAAI;IAQZ,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,4BAA4B;IAC5B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,iCAAiC;IACjC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIrC,OAAO,KAAK,KAAK,GAMhB;IAED,sDAAsD;IACtD,OAAO,CAAC,iBAAiB;IAMzB,uCAAuC;IACvC,OAAO,CAAC,oBAAoB;YAWd,aAAa;IA2B3B,oFAAoF;YACtE,WAAW;IA6BzB,8DAA8D;YAChD,eAAe;YAmCf,YAAY;YA6BZ,kBAAkB;YAqDlB,YAAY;YAQZ,mBAAmB;YAqBnB,kBAAkB;IAgBhC,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,KAAK;CAGd"}