@actalk/inkos-core 1.0.2 → 1.1.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.
- package/dist/agents/architect.d.ts +4 -2
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +59 -13
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/chapter-analyzer.js +2 -2
- package/dist/agents/composer.d.ts +8 -0
- package/dist/agents/composer.d.ts.map +1 -1
- package/dist/agents/composer.js +170 -5
- package/dist/agents/composer.js.map +1 -1
- package/dist/agents/continuity.js +8 -8
- package/dist/agents/continuity.js.map +1 -1
- package/dist/agents/fanfic-canon-importer.d.ts +1 -0
- package/dist/agents/fanfic-canon-importer.d.ts.map +1 -1
- package/dist/agents/fanfic-canon-importer.js +19 -1
- package/dist/agents/fanfic-canon-importer.js.map +1 -1
- package/dist/agents/foundation-reviewer.d.ts +29 -0
- package/dist/agents/foundation-reviewer.d.ts.map +1 -0
- package/dist/agents/foundation-reviewer.js +153 -0
- package/dist/agents/foundation-reviewer.js.map +1 -0
- package/dist/agents/planner.d.ts +15 -0
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +247 -36
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/post-write-validator.d.ts +3 -1
- package/dist/agents/post-write-validator.d.ts.map +1 -1
- package/dist/agents/post-write-validator.js +165 -12
- package/dist/agents/post-write-validator.js.map +1 -1
- package/dist/agents/settler-prompts.d.ts +1 -0
- package/dist/agents/settler-prompts.d.ts.map +1 -1
- package/dist/agents/settler-prompts.js +8 -1
- package/dist/agents/settler-prompts.js.map +1 -1
- package/dist/agents/writer-prompts.js +10 -4
- package/dist/agents/writer-prompts.js.map +1 -1
- package/dist/agents/writer.d.ts +15 -0
- package/dist/agents/writer.d.ts.map +1 -1
- package/dist/agents/writer.js +181 -15
- package/dist/agents/writer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/llm/provider.d.ts.map +1 -1
- package/dist/llm/provider.js +25 -1
- package/dist/llm/provider.js.map +1 -1
- package/dist/models/chapter.d.ts +4 -4
- package/dist/models/chapter.d.ts.map +1 -1
- package/dist/models/chapter.js +1 -0
- package/dist/models/chapter.js.map +1 -1
- package/dist/models/input-governance.d.ts +165 -0
- package/dist/models/input-governance.d.ts.map +1 -1
- package/dist/models/input-governance.js +34 -0
- package/dist/models/input-governance.js.map +1 -1
- package/dist/models/project.d.ts +8 -0
- package/dist/models/project.d.ts.map +1 -1
- package/dist/models/project.js +1 -0
- package/dist/models/project.js.map +1 -1
- package/dist/models/runtime-state.d.ts +30 -0
- package/dist/models/runtime-state.d.ts.map +1 -1
- package/dist/models/runtime-state.js +9 -0
- package/dist/models/runtime-state.js.map +1 -1
- package/dist/pipeline/chapter-persistence.d.ts +33 -0
- package/dist/pipeline/chapter-persistence.d.ts.map +1 -0
- package/dist/pipeline/chapter-persistence.js +35 -0
- package/dist/pipeline/chapter-persistence.js.map +1 -0
- package/dist/pipeline/chapter-review-cycle.d.ts +79 -0
- package/dist/pipeline/chapter-review-cycle.d.ts.map +1 -0
- package/dist/pipeline/chapter-review-cycle.js +97 -0
- package/dist/pipeline/chapter-review-cycle.js.map +1 -0
- package/dist/pipeline/chapter-state-recovery.d.ts +59 -0
- package/dist/pipeline/chapter-state-recovery.d.ts.map +1 -0
- package/dist/pipeline/chapter-state-recovery.js +132 -0
- package/dist/pipeline/chapter-state-recovery.js.map +1 -0
- package/dist/pipeline/chapter-truth-validation.d.ts +41 -0
- package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -0
- package/dist/pipeline/chapter-truth-validation.js +67 -0
- package/dist/pipeline/chapter-truth-validation.js.map +1 -0
- package/dist/pipeline/persisted-governed-plan.d.ts +4 -0
- package/dist/pipeline/persisted-governed-plan.d.ts.map +1 -0
- package/dist/pipeline/persisted-governed-plan.js +85 -0
- package/dist/pipeline/persisted-governed-plan.js.map +1 -0
- package/dist/pipeline/runner.d.ts +10 -7
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +459 -283
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/state/manager.d.ts +8 -0
- package/dist/state/manager.d.ts.map +1 -1
- package/dist/state/manager.js +106 -9
- package/dist/state/manager.js.map +1 -1
- package/dist/state/memory-db.d.ts +2 -0
- package/dist/state/memory-db.d.ts.map +1 -1
- package/dist/state/memory-db.js +13 -2
- package/dist/state/memory-db.js.map +1 -1
- package/dist/state/runtime-state-store.d.ts.map +1 -1
- package/dist/state/runtime-state-store.js +1 -0
- package/dist/state/runtime-state-store.js.map +1 -1
- package/dist/state/state-bootstrap.d.ts +2 -5
- package/dist/state/state-bootstrap.d.ts.map +1 -1
- package/dist/state/state-bootstrap.js +61 -141
- package/dist/state/state-bootstrap.js.map +1 -1
- package/dist/state/state-projections.d.ts.map +1 -1
- package/dist/state/state-projections.js +6 -4
- package/dist/state/state-projections.js.map +1 -1
- package/dist/state/state-reducer.d.ts.map +1 -1
- package/dist/state/state-reducer.js +6 -0
- package/dist/state/state-reducer.js.map +1 -1
- package/dist/utils/cadence-policy.d.ts +36 -0
- package/dist/utils/cadence-policy.d.ts.map +1 -0
- package/dist/utils/cadence-policy.js +38 -0
- package/dist/utils/cadence-policy.js.map +1 -0
- package/dist/utils/chapter-cadence.d.ts +34 -0
- package/dist/utils/chapter-cadence.d.ts.map +1 -0
- package/dist/utils/chapter-cadence.js +142 -0
- package/dist/utils/chapter-cadence.js.map +1 -0
- package/dist/utils/context-filter.d.ts +2 -2
- package/dist/utils/context-filter.d.ts.map +1 -1
- package/dist/utils/context-filter.js +3 -2
- package/dist/utils/context-filter.js.map +1 -1
- package/dist/utils/governed-context.d.ts +4 -0
- package/dist/utils/governed-context.d.ts.map +1 -1
- package/dist/utils/governed-context.js +20 -0
- package/dist/utils/governed-context.js.map +1 -1
- package/dist/utils/governed-working-set.d.ts.map +1 -1
- package/dist/utils/governed-working-set.js +2 -1
- package/dist/utils/governed-working-set.js.map +1 -1
- package/dist/utils/hook-agenda.d.ts +21 -0
- package/dist/utils/hook-agenda.d.ts.map +1 -0
- package/dist/utils/hook-agenda.js +95 -0
- package/dist/utils/hook-agenda.js.map +1 -0
- package/dist/utils/hook-arbiter.d.ts.map +1 -1
- package/dist/utils/hook-arbiter.js +7 -0
- package/dist/utils/hook-arbiter.js.map +1 -1
- package/dist/utils/hook-governance.d.ts +2 -0
- package/dist/utils/hook-governance.d.ts.map +1 -1
- package/dist/utils/hook-governance.js +19 -3
- package/dist/utils/hook-governance.js.map +1 -1
- package/dist/utils/hook-health.d.ts +1 -0
- package/dist/utils/hook-health.d.ts.map +1 -1
- package/dist/utils/hook-health.js +85 -26
- package/dist/utils/hook-health.js.map +1 -1
- package/dist/utils/hook-lifecycle.d.ts +34 -0
- package/dist/utils/hook-lifecycle.d.ts.map +1 -0
- package/dist/utils/hook-lifecycle.js +125 -0
- package/dist/utils/hook-lifecycle.js.map +1 -0
- package/dist/utils/hook-policy.d.ts +74 -0
- package/dist/utils/hook-policy.d.ts.map +1 -0
- package/dist/utils/hook-policy.js +126 -0
- package/dist/utils/hook-policy.js.map +1 -0
- package/dist/utils/long-span-fatigue.d.ts.map +1 -1
- package/dist/utils/long-span-fatigue.js +75 -28
- package/dist/utils/long-span-fatigue.js.map +1 -1
- package/dist/utils/memory-retrieval.d.ts +2 -16
- package/dist/utils/memory-retrieval.d.ts.map +1 -1
- package/dist/utils/memory-retrieval.js +14 -269
- package/dist/utils/memory-retrieval.js.map +1 -1
- package/dist/utils/story-markdown.d.ts +13 -0
- package/dist/utils/story-markdown.d.ts.map +1 -0
- package/dist/utils/story-markdown.js +218 -0
- package/dist/utils/story-markdown.js.map +1 -0
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ export interface ArchitectOutput {
|
|
|
9
9
|
}
|
|
10
10
|
export declare class ArchitectAgent extends BaseAgent {
|
|
11
11
|
get name(): string;
|
|
12
|
-
generateFoundation(book: BookConfig, externalContext?: string): Promise<ArchitectOutput>;
|
|
12
|
+
generateFoundation(book: BookConfig, externalContext?: string, reviewFeedback?: string): Promise<ArchitectOutput>;
|
|
13
13
|
writeFoundationFiles(bookDir: string, output: ArchitectOutput, numericalSystem?: boolean, language?: "zh" | "en"): Promise<void>;
|
|
14
14
|
/**
|
|
15
15
|
* Reverse-engineer foundation from existing chapters.
|
|
@@ -17,8 +17,10 @@ export declare class ArchitectAgent extends BaseAgent {
|
|
|
17
17
|
* volume_outline, book_rules, current_state, and pending_hooks.
|
|
18
18
|
*/
|
|
19
19
|
generateFoundationFromImport(book: BookConfig, chaptersText: string, externalContext?: string): Promise<ArchitectOutput>;
|
|
20
|
-
generateFanficFoundation(book: BookConfig, fanficCanon: string, fanficMode: FanficMode): Promise<ArchitectOutput>;
|
|
20
|
+
generateFanficFoundation(book: BookConfig, fanficCanon: string, fanficMode: FanficMode, reviewFeedback?: string): Promise<ArchitectOutput>;
|
|
21
|
+
private buildReviewFeedbackBlock;
|
|
21
22
|
private parseSections;
|
|
23
|
+
private normalizeSectionName;
|
|
22
24
|
private stripTrailingAssistantCoda;
|
|
23
25
|
private normalizePendingHooksSection;
|
|
24
26
|
private parseHookChapterNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/agents/architect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/agents/architect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,kBAAkB,CACtB,IAAI,EAAE,UAAU,EAChB,eAAe,CAAC,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,eAAe,CAAC;IAqQrB,oBAAoB,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,eAAe,GAAE,OAAc,EAC/B,QAAQ,GAAE,IAAI,GAAG,IAAW,GAC3B,OAAO,CAAC,IAAI,CAAC;IAoDhB;;;;OAIG;IACG,4BAA4B,CAChC,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC;IAwOrB,wBAAwB,CAC5B,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,eAAe,CAAC;IAoF3B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,4BAA4B;IA0CpC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,cAAc;CAavB"}
|
package/dist/agents/architect.js
CHANGED
|
@@ -7,12 +7,13 @@ export class ArchitectAgent extends BaseAgent {
|
|
|
7
7
|
get name() {
|
|
8
8
|
return "architect";
|
|
9
9
|
}
|
|
10
|
-
async generateFoundation(book, externalContext) {
|
|
10
|
+
async generateFoundation(book, externalContext, reviewFeedback) {
|
|
11
11
|
const { profile: gp, body: genreBody } = await readGenreProfile(this.ctx.projectRoot, book.genre);
|
|
12
12
|
const resolvedLanguage = book.language ?? gp.language;
|
|
13
13
|
const contextBlock = externalContext
|
|
14
14
|
? `\n\n## 外部指令\n以下是来自外部系统的创作指令,请将其融入设定中:\n\n${externalContext}\n`
|
|
15
15
|
: "";
|
|
16
|
+
const reviewFeedbackBlock = this.buildReviewFeedbackBlock(reviewFeedback, resolvedLanguage);
|
|
16
17
|
const numericalBlock = gp.numericalSystem
|
|
17
18
|
? `- 有明确的数值/资源体系可追踪
|
|
18
19
|
- 在 book_rules 中定义 numericalSystemOverrides(hardCap、resourceTypes)`
|
|
@@ -173,18 +174,20 @@ enableFullCastTracking: false
|
|
|
173
174
|
| 当前冲突 | (第一个冲突) |`;
|
|
174
175
|
const pendingHooksPrompt = resolvedLanguage === "en"
|
|
175
176
|
? `Initial hook pool (Markdown table):
|
|
176
|
-
| hook_id | start_chapter | type | status | last_advanced_chapter | expected_payoff | notes |
|
|
177
|
+
| hook_id | start_chapter | type | status | last_advanced_chapter | expected_payoff | payoff_timing | notes |
|
|
177
178
|
|
|
178
179
|
Rules for the hook table:
|
|
179
180
|
- Column 5 must be a pure chapter number, never natural-language description
|
|
180
181
|
- During book creation, all planned hooks are still unapplied, so last_advanced_chapter = 0
|
|
182
|
+
- Column 7 must be one of: immediate / near-term / mid-arc / slow-burn / endgame
|
|
181
183
|
- If you want to describe the initial clue/signal, put it in notes instead of column 5`
|
|
182
184
|
: `初始伏笔池(Markdown表格):
|
|
183
|
-
| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 备注 |
|
|
185
|
+
| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 回收节奏 | 备注 |
|
|
184
186
|
|
|
185
187
|
伏笔表规则:
|
|
186
188
|
- 第5列必须是纯数字章节号,不能写自然语言描述
|
|
187
189
|
- 建书阶段所有伏笔都还没正式推进,所以第5列统一填 0
|
|
190
|
+
- 第7列必须填写:立即 / 近期 / 中程 / 慢烧 / 终局 之一
|
|
188
191
|
- 如果要说明“初始线索/最初信号”,写进备注,不要写进第5列`;
|
|
189
192
|
const finalRequirementsPrompt = resolvedLanguage === "en"
|
|
190
193
|
? `Generated content must:
|
|
@@ -205,7 +208,7 @@ ${eraBlock}
|
|
|
205
208
|
3. 主角人设鲜明,有明确行为边界
|
|
206
209
|
4. 伏笔前后呼应,不留悬空线
|
|
207
210
|
5. 配角有独立动机,不是工具人`;
|
|
208
|
-
const systemPrompt = `你是一个专业的网络小说架构师。你的任务是为一本新的${gp.name}小说生成完整的基础设定。${contextBlock}
|
|
211
|
+
const systemPrompt = `你是一个专业的网络小说架构师。你的任务是为一本新的${gp.name}小说生成完整的基础设定。${contextBlock}${reviewFeedbackBlock}
|
|
209
212
|
|
|
210
213
|
要求:
|
|
211
214
|
- 平台:${book.platform}
|
|
@@ -415,9 +418,9 @@ enableFullCastTracking: false
|
|
|
415
418
|
| 当前冲突 | (当前冲突) |`;
|
|
416
419
|
const pendingHooksPrompt = resolvedLanguage === "en"
|
|
417
420
|
? `Identify all active hooks from the source text (Markdown table):
|
|
418
|
-
| hook_id | start_chapter | type | status | latest_progress | expected_payoff | notes |`
|
|
421
|
+
| hook_id | start_chapter | type | status | latest_progress | expected_payoff | payoff_timing | notes |`
|
|
419
422
|
: `从正文中识别的所有伏笔(Markdown表格):
|
|
420
|
-
| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 备注 |`;
|
|
423
|
+
| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 回收节奏 | 备注 |`;
|
|
421
424
|
const keyPrinciplesPrompt = resolvedLanguage === "en"
|
|
422
425
|
? `## Key Principles
|
|
423
426
|
|
|
@@ -495,8 +498,9 @@ ${keyPrinciplesPrompt}`;
|
|
|
495
498
|
], { maxTokens: 16384, temperature: 0.5 });
|
|
496
499
|
return this.parseSections(response.content);
|
|
497
500
|
}
|
|
498
|
-
async generateFanficFoundation(book, fanficCanon, fanficMode) {
|
|
501
|
+
async generateFanficFoundation(book, fanficCanon, fanficMode, reviewFeedback) {
|
|
499
502
|
const { profile: gp, body: genreBody } = await readGenreProfile(this.ctx.projectRoot, book.genre);
|
|
503
|
+
const reviewFeedbackBlock = this.buildReviewFeedbackBlock(reviewFeedback, book.language ?? "zh");
|
|
500
504
|
const MODE_INSTRUCTIONS = {
|
|
501
505
|
canon: "剧情发生在原作空白期或未详述的角度。不可改变原作已确立的事实。",
|
|
502
506
|
au: "标注AU设定与原作的关键分歧点,分歧后的世界线自由发展。保留角色核心性格。",
|
|
@@ -508,6 +512,15 @@ ${keyPrinciplesPrompt}`;
|
|
|
508
512
|
## 同人模式:${fanficMode}
|
|
509
513
|
${MODE_INSTRUCTIONS[fanficMode]}
|
|
510
514
|
|
|
515
|
+
## 新时空要求(关键)
|
|
516
|
+
你必须为这本同人设计一个**原创的叙事空间**,而不是复述原作剧情。具体要求:
|
|
517
|
+
1. **明确分岔点**:story_bible 必须标注"本作从原作的哪个节点分岔",或"本作发生在原作未涉及的什么时空"
|
|
518
|
+
2. **独立核心冲突**:volume_outline 的核心冲突必须是原创的,不是原作情节的翻版。原作角色可以出现,但他们面对的是新问题
|
|
519
|
+
3. **5章内引爆**:volume_outline 的第1卷必须在前5章内建立核心悬念,不允许用3章做铺垫才到引爆点
|
|
520
|
+
4. **场景新鲜度**:至少50%的关键场景发生在原作未出现的地点或情境中
|
|
521
|
+
|
|
522
|
+
${reviewFeedbackBlock}
|
|
523
|
+
|
|
511
524
|
## 原作正典
|
|
512
525
|
${fanficCanon}
|
|
513
526
|
|
|
@@ -517,8 +530,8 @@ ${genreBody}
|
|
|
517
530
|
## 关键原则
|
|
518
531
|
1. **不发明主要角色** — 主要角色必须来自原作正典的角色档案
|
|
519
532
|
2. 可以添加原创配角,但必须在 story_bible 中标注为"原创角色"
|
|
520
|
-
3. story_bible
|
|
521
|
-
4. volume_outline
|
|
533
|
+
3. story_bible 保留原作世界观,标注同人的改动/扩展部分,并明确写出**分岔点**和**新时空设定**
|
|
534
|
+
4. volume_outline 不得复述原作剧情节拍。每卷的核心事件必须是原创的,标注"原创"
|
|
522
535
|
5. book_rules 的 fanficMode 必须设为 "${fanficMode}"
|
|
523
536
|
6. 主角设定来自原作角色档案中的第一个角色(或用户在标题中暗示的角色)
|
|
524
537
|
|
|
@@ -563,11 +576,35 @@ prohibitions:
|
|
|
563
576
|
], { maxTokens: 16384, temperature: 0.7 });
|
|
564
577
|
return this.parseSections(response.content);
|
|
565
578
|
}
|
|
579
|
+
buildReviewFeedbackBlock(reviewFeedback, language) {
|
|
580
|
+
const trimmed = reviewFeedback?.trim();
|
|
581
|
+
if (!trimmed)
|
|
582
|
+
return "";
|
|
583
|
+
if (language === "en") {
|
|
584
|
+
return `\n\n## Previous Review Feedback
|
|
585
|
+
The previous foundation draft was rejected. You must explicitly fix the following issues in this regeneration instead of paraphrasing the same design:
|
|
586
|
+
|
|
587
|
+
${trimmed}\n`;
|
|
588
|
+
}
|
|
589
|
+
return `\n\n## 上一轮审核反馈
|
|
590
|
+
上一轮基础设定未通过审核。你必须在这次重生中明确修复以下问题,不能只换措辞重写同一套方案:
|
|
591
|
+
|
|
592
|
+
${trimmed}\n`;
|
|
593
|
+
}
|
|
566
594
|
parseSections(content) {
|
|
595
|
+
const parsedSections = new Map();
|
|
596
|
+
const sectionPattern = /^\s*===\s*SECTION\s*[::]\s*([^\n=]+?)\s*===\s*$/gim;
|
|
597
|
+
const matches = [...content.matchAll(sectionPattern)];
|
|
598
|
+
for (let i = 0; i < matches.length; i++) {
|
|
599
|
+
const match = matches[i];
|
|
600
|
+
const rawName = match[1] ?? "";
|
|
601
|
+
const start = (match.index ?? 0) + match[0].length;
|
|
602
|
+
const end = matches[i + 1]?.index ?? content.length;
|
|
603
|
+
const normalizedName = this.normalizeSectionName(rawName);
|
|
604
|
+
parsedSections.set(normalizedName, content.slice(start, end).trim());
|
|
605
|
+
}
|
|
567
606
|
const extract = (name) => {
|
|
568
|
-
const
|
|
569
|
-
const match = content.match(regex);
|
|
570
|
-
const section = match?.[1]?.trim();
|
|
607
|
+
const section = parsedSections.get(this.normalizeSectionName(name));
|
|
571
608
|
if (!section) {
|
|
572
609
|
throw new Error(`Architect output missing required section: ${name}`);
|
|
573
610
|
}
|
|
@@ -584,6 +621,14 @@ prohibitions:
|
|
|
584
621
|
pendingHooks: extract("pending_hooks"),
|
|
585
622
|
};
|
|
586
623
|
}
|
|
624
|
+
normalizeSectionName(name) {
|
|
625
|
+
return name
|
|
626
|
+
.normalize("NFKC")
|
|
627
|
+
.toLowerCase()
|
|
628
|
+
.replace(/[`"'*_]/g, " ")
|
|
629
|
+
.replace(/[^a-z0-9]+/g, "_")
|
|
630
|
+
.replace(/^_+|_+$/g, "");
|
|
631
|
+
}
|
|
587
632
|
stripTrailingAssistantCoda(section) {
|
|
588
633
|
const lines = section.split("\n");
|
|
589
634
|
const cutoff = lines.findIndex((line) => {
|
|
@@ -627,7 +672,8 @@ prohibitions:
|
|
|
627
672
|
status: row[3] ?? "open",
|
|
628
673
|
lastAdvancedChapter: normalizedProgress,
|
|
629
674
|
expectedPayoff: row[5] ?? "",
|
|
630
|
-
|
|
675
|
+
payoffTiming: row.length >= 8 ? row[6] ?? "" : "",
|
|
676
|
+
notes: row.length >= 8 ? this.mergeHookNotes(row[7] ?? "", seedNote, language) : notes,
|
|
631
677
|
};
|
|
632
678
|
});
|
|
633
679
|
return renderHookSnapshot(normalizedHooks, language);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/agents/architect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/agents/architect.ts"],"names":[],"mappings":"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"}
|
|
@@ -216,7 +216,7 @@ Updated state card as a Markdown table reflecting the end-of-chapter state:
|
|
|
216
216
|
|
|
217
217
|
=== UPDATED_HOOKS ===
|
|
218
218
|
Updated hooks pool as a Markdown table with the latest status of every known hook:
|
|
219
|
-
| hook_id | start_chapter | type | status | last_advanced_chapter | expected_payoff | notes |
|
|
219
|
+
| hook_id | start_chapter | type | status | last_advanced_chapter | expected_payoff | payoff_timing | notes |
|
|
220
220
|
|
|
221
221
|
=== CHAPTER_SUMMARY ===
|
|
222
222
|
Single Markdown table row:
|
|
@@ -307,7 +307,7 @@ ${bookRulesBody ? `## 本书规则\n\n${bookRulesBody}` : ""}
|
|
|
307
307
|
|
|
308
308
|
=== UPDATED_HOOKS ===
|
|
309
309
|
更新后的伏笔池(Markdown表格),包含所有已知伏笔的最新状态:
|
|
310
|
-
| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 备注 |
|
|
310
|
+
| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 回收节奏 | 备注 |
|
|
311
311
|
|
|
312
312
|
=== CHAPTER_SUMMARY ===
|
|
313
313
|
本章摘要(Markdown表格行):
|
|
@@ -20,9 +20,17 @@ export declare class ComposerAgent extends BaseAgent {
|
|
|
20
20
|
get name(): string;
|
|
21
21
|
composeChapter(input: ComposeChapterInput): Promise<ComposeChapterOutput>;
|
|
22
22
|
private collectSelectedContext;
|
|
23
|
+
private buildRecentChapterTrailEntries;
|
|
24
|
+
private buildRecentEndingTrail;
|
|
25
|
+
private extractLastMeaningfulSentence;
|
|
26
|
+
private buildHookDebtEntries;
|
|
23
27
|
private maybeContextSource;
|
|
24
28
|
private pickExcerpt;
|
|
25
29
|
private toFactAnchor;
|
|
26
30
|
private readFileOrDefault;
|
|
31
|
+
private describeHookAgendaRole;
|
|
32
|
+
private findHookSummary;
|
|
33
|
+
private summaryMentionsHook;
|
|
34
|
+
private renderHookDebtBeat;
|
|
27
35
|
}
|
|
28
36
|
//# sourceMappingURL=composer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/agents/composer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/agents/composer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,aAAc,SAAQ,SAAS;IAC1C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAqEjE,sBAAsB;YA8FtB,8BAA8B;YAsD9B,sBAAsB;IA4BpC,OAAO,CAAC,6BAA6B;YASvB,oBAAoB;YAuEpB,kBAAkB;IAiBhC,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,YAAY;YASN,iBAAiB;IAQ/B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;CAK3B"}
|
package/dist/agents/composer.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
1
|
+
import { readFile, readdir, writeFile, mkdir } from "node:fs/promises";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import yaml from "js-yaml";
|
|
4
4
|
import { BaseAgent } from "./base.js";
|
|
5
5
|
import { ChapterTraceSchema, ContextPackageSchema, RuleStackSchema, } from "../models/input-governance.js";
|
|
6
|
-
import { retrieveMemorySelection } from "../utils/memory-retrieval.js";
|
|
6
|
+
import { parseChapterSummariesMarkdown, retrieveMemorySelection, } from "../utils/memory-retrieval.js";
|
|
7
7
|
export class ComposerAgent extends BaseAgent {
|
|
8
8
|
get name() {
|
|
9
9
|
return "composer";
|
|
@@ -12,7 +12,7 @@ export class ComposerAgent extends BaseAgent {
|
|
|
12
12
|
const storyDir = join(input.bookDir, "story");
|
|
13
13
|
const runtimeDir = join(storyDir, "runtime");
|
|
14
14
|
await mkdir(runtimeDir, { recursive: true });
|
|
15
|
-
const selectedContext = await this.collectSelectedContext(storyDir, input.plan);
|
|
15
|
+
const selectedContext = await this.collectSelectedContext(storyDir, input.plan, input.book.language ?? "zh");
|
|
16
16
|
const contextPackage = ContextPackageSchema.parse({
|
|
17
17
|
chapter: input.chapterNumber,
|
|
18
18
|
selectedContext,
|
|
@@ -66,13 +66,17 @@ export class ComposerAgent extends BaseAgent {
|
|
|
66
66
|
tracePath,
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
|
-
async collectSelectedContext(storyDir, plan) {
|
|
69
|
+
async collectSelectedContext(storyDir, plan, language) {
|
|
70
70
|
const entries = await Promise.all([
|
|
71
71
|
this.maybeContextSource(storyDir, "current_focus.md", "Current task focus for this chapter."),
|
|
72
|
+
this.maybeContextSource(storyDir, "audit_drift.md", "Carry forward audit drift guidance from the previous chapter without polluting hard state facts."),
|
|
72
73
|
this.maybeContextSource(storyDir, "current_state.md", "Preserve hard state facts referenced by mustKeep.", plan.intent.mustKeep),
|
|
73
74
|
this.maybeContextSource(storyDir, "story_bible.md", "Preserve canon constraints referenced by mustKeep.", plan.intent.mustKeep),
|
|
74
75
|
this.maybeContextSource(storyDir, "volume_outline.md", "Anchor the default planning node for this chapter.", plan.intent.outlineNode ? [plan.intent.outlineNode] : []),
|
|
76
|
+
this.maybeContextSource(storyDir, "parent_canon.md", "Preserve parent canon constraints for governed continuation or fanfic writing."),
|
|
77
|
+
this.maybeContextSource(storyDir, "fanfic_canon.md", "Preserve extracted fanfic canon constraints for governed writing."),
|
|
75
78
|
]);
|
|
79
|
+
const trailEntries = await this.buildRecentChapterTrailEntries(storyDir, plan.intent.chapter);
|
|
76
80
|
const planningAnchor = plan.intent.conflicts.length > 0 ? undefined : plan.intent.outlineNode;
|
|
77
81
|
const memorySelection = await retrieveMemorySelection({
|
|
78
82
|
bookDir: dirname(storyDir),
|
|
@@ -81,6 +85,7 @@ export class ComposerAgent extends BaseAgent {
|
|
|
81
85
|
outlineNode: planningAnchor,
|
|
82
86
|
mustKeep: plan.intent.mustKeep,
|
|
83
87
|
});
|
|
88
|
+
const hookDebtEntries = await this.buildHookDebtEntries(storyDir, plan, memorySelection.activeHooks, language);
|
|
84
89
|
const summaryEntries = memorySelection.summaries.map((summary) => ({
|
|
85
90
|
source: `story/chapter_summaries.md#${summary.chapter}`,
|
|
86
91
|
reason: "Relevant episodic memory retrieved for the current chapter goal.",
|
|
@@ -96,7 +101,7 @@ export class ComposerAgent extends BaseAgent {
|
|
|
96
101
|
const hookEntries = memorySelection.hooks.map((hook) => ({
|
|
97
102
|
source: `story/pending_hooks.md#${hook.hookId}`,
|
|
98
103
|
reason: "Carry forward unresolved hooks that match the chapter focus.",
|
|
99
|
-
excerpt: [hook.type, hook.status, hook.expectedPayoff, hook.notes]
|
|
104
|
+
excerpt: [hook.type, hook.status, hook.expectedPayoff, hook.payoffTiming, hook.notes]
|
|
100
105
|
.filter(Boolean)
|
|
101
106
|
.join(" | "),
|
|
102
107
|
}));
|
|
@@ -107,12 +112,140 @@ export class ComposerAgent extends BaseAgent {
|
|
|
107
112
|
}));
|
|
108
113
|
return [
|
|
109
114
|
...entries.filter((entry) => entry !== null),
|
|
115
|
+
...trailEntries,
|
|
116
|
+
...hookDebtEntries,
|
|
110
117
|
...factEntries,
|
|
111
118
|
...summaryEntries,
|
|
112
119
|
...volumeSummaryEntries,
|
|
113
120
|
...hookEntries,
|
|
114
121
|
];
|
|
115
122
|
}
|
|
123
|
+
async buildRecentChapterTrailEntries(storyDir, chapterNumber) {
|
|
124
|
+
const content = await this.readFileOrDefault(join(storyDir, "chapter_summaries.md"));
|
|
125
|
+
if (!content || content === "(文件尚未创建)") {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
const recentSummaries = parseChapterSummariesMarkdown(content)
|
|
129
|
+
.filter((summary) => summary.chapter < chapterNumber)
|
|
130
|
+
.sort((left, right) => right.chapter - left.chapter)
|
|
131
|
+
.slice(0, 5);
|
|
132
|
+
if (recentSummaries.length === 0) {
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
const entries = [];
|
|
136
|
+
const recentTitles = recentSummaries
|
|
137
|
+
.map((summary) => [summary.chapter, summary.title].filter(Boolean).join(": "))
|
|
138
|
+
.filter(Boolean)
|
|
139
|
+
.join(" | ");
|
|
140
|
+
if (recentTitles) {
|
|
141
|
+
entries.push({
|
|
142
|
+
source: "story/chapter_summaries.md#recent_titles",
|
|
143
|
+
reason: "Keep recent title history visible to avoid repetitive chapter naming.",
|
|
144
|
+
excerpt: recentTitles,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
const moodTrail = recentSummaries
|
|
148
|
+
.filter((summary) => summary.mood || summary.chapterType)
|
|
149
|
+
.map((summary) => `${summary.chapter}: ${summary.mood || "(none)"} / ${summary.chapterType || "(none)"}`)
|
|
150
|
+
.join(" | ");
|
|
151
|
+
if (moodTrail) {
|
|
152
|
+
entries.push({
|
|
153
|
+
source: "story/chapter_summaries.md#recent_mood_type_trail",
|
|
154
|
+
reason: "Keep recent mood and chapter-type cadence visible before writing the next chapter.",
|
|
155
|
+
excerpt: moodTrail,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
const endingTrail = await this.buildRecentEndingTrail(storyDir, chapterNumber);
|
|
159
|
+
if (endingTrail) {
|
|
160
|
+
entries.push({
|
|
161
|
+
source: "story/chapters#recent_endings",
|
|
162
|
+
reason: "Show how recent chapters ended so the writer avoids structural repetition (e.g. 3 consecutive collapse endings).",
|
|
163
|
+
excerpt: endingTrail,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return entries;
|
|
167
|
+
}
|
|
168
|
+
async buildRecentEndingTrail(storyDir, chapterNumber) {
|
|
169
|
+
const chaptersDir = join(dirname(storyDir), "chapters");
|
|
170
|
+
try {
|
|
171
|
+
const files = await readdir(chaptersDir);
|
|
172
|
+
const chapterFiles = files
|
|
173
|
+
.filter((file) => file.endsWith(".md"))
|
|
174
|
+
.map((file) => ({ file, num: parseInt(file.slice(0, 4), 10) }))
|
|
175
|
+
.filter((entry) => Number.isFinite(entry.num) && entry.num < chapterNumber)
|
|
176
|
+
.sort((a, b) => b.num - a.num)
|
|
177
|
+
.slice(0, 3);
|
|
178
|
+
const endings = [];
|
|
179
|
+
for (const entry of chapterFiles.reverse()) {
|
|
180
|
+
const content = await readFile(join(chaptersDir, entry.file), "utf-8");
|
|
181
|
+
const lastLine = this.extractLastMeaningfulSentence(content);
|
|
182
|
+
if (lastLine) {
|
|
183
|
+
endings.push(`ch${entry.num}: ${lastLine}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return endings.length >= 2 ? endings.join(" | ") : undefined;
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return undefined;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
extractLastMeaningfulSentence(content) {
|
|
193
|
+
const lines = content.split("\n").map((line) => line.trim()).filter((line) => line.length > 5 && !line.startsWith("#") && !line.startsWith("|") && !line.startsWith("==="));
|
|
194
|
+
const last = lines.at(-1);
|
|
195
|
+
if (!last)
|
|
196
|
+
return undefined;
|
|
197
|
+
return last.length > 60 ? last.slice(0, 57) + "..." : last;
|
|
198
|
+
}
|
|
199
|
+
async buildHookDebtEntries(storyDir, plan, activeHooks, language) {
|
|
200
|
+
const targetHookIds = [
|
|
201
|
+
...new Set([
|
|
202
|
+
...plan.intent.hookAgenda.pressureMap.map((entry) => entry.hookId),
|
|
203
|
+
...plan.intent.hookAgenda.eligibleResolve,
|
|
204
|
+
...plan.intent.hookAgenda.mustAdvance,
|
|
205
|
+
...plan.intent.hookAgenda.staleDebt,
|
|
206
|
+
]),
|
|
207
|
+
];
|
|
208
|
+
if (targetHookIds.length === 0) {
|
|
209
|
+
return [];
|
|
210
|
+
}
|
|
211
|
+
const summaries = parseChapterSummariesMarkdown(await this.readFileOrDefault(join(storyDir, "chapter_summaries.md")));
|
|
212
|
+
return targetHookIds.flatMap((hookId) => {
|
|
213
|
+
const hook = activeHooks.find((entry) => entry.hookId === hookId);
|
|
214
|
+
if (!hook) {
|
|
215
|
+
return [];
|
|
216
|
+
}
|
|
217
|
+
const seedSummary = this.findHookSummary(summaries, hook.hookId, hook.startChapter, "seed");
|
|
218
|
+
const latestSummary = this.findHookSummary(summaries, hook.hookId, hook.lastAdvancedChapter, "latest");
|
|
219
|
+
const role = this.describeHookAgendaRole(plan, hook.hookId, language);
|
|
220
|
+
const promise = hook.expectedPayoff || (language === "en" ? "(unspecified)" : "(未写明)");
|
|
221
|
+
const seedBeat = seedSummary
|
|
222
|
+
? this.renderHookDebtBeat(seedSummary)
|
|
223
|
+
: (hook.notes || promise);
|
|
224
|
+
const latestBeat = latestSummary && latestSummary !== seedSummary
|
|
225
|
+
? this.renderHookDebtBeat(latestSummary)
|
|
226
|
+
: undefined;
|
|
227
|
+
const age = Math.max(0, plan.intent.chapter - Math.max(1, hook.startChapter));
|
|
228
|
+
return [{
|
|
229
|
+
source: `runtime/hook_debt#${hook.hookId}`,
|
|
230
|
+
reason: language === "en"
|
|
231
|
+
? "Narrative debt brief with original seed text for this hook agenda target."
|
|
232
|
+
: "含原始种子文本的叙事债务简报。",
|
|
233
|
+
excerpt: language === "en"
|
|
234
|
+
? [
|
|
235
|
+
`${hook.hookId} (${hook.type}, ${role}, open ${age} chapters)`,
|
|
236
|
+
`reader promise: ${promise}`,
|
|
237
|
+
`original seed (ch${hook.startChapter}): ${seedBeat}`,
|
|
238
|
+
latestBeat ? `latest turn (ch${hook.lastAdvancedChapter}): ${latestBeat}` : undefined,
|
|
239
|
+
].filter(Boolean).join(" | ")
|
|
240
|
+
: [
|
|
241
|
+
`${hook.hookId}(${hook.type},${role},已开${age}章)`,
|
|
242
|
+
`读者承诺:${promise}`,
|
|
243
|
+
`种于第${hook.startChapter}章:${seedBeat}`,
|
|
244
|
+
latestBeat ? `推进于第${hook.lastAdvancedChapter}章:${latestBeat}` : undefined,
|
|
245
|
+
].filter(Boolean).join(" | "),
|
|
246
|
+
}];
|
|
247
|
+
});
|
|
248
|
+
}
|
|
116
249
|
async maybeContextSource(storyDir, fileName, reason, preferredExcerpts = []) {
|
|
117
250
|
const path = join(storyDir, fileName);
|
|
118
251
|
const content = await this.readFileOrDefault(path);
|
|
@@ -150,5 +283,37 @@ export class ComposerAgent extends BaseAgent {
|
|
|
150
283
|
return "(文件尚未创建)";
|
|
151
284
|
}
|
|
152
285
|
}
|
|
286
|
+
describeHookAgendaRole(plan, hookId, language) {
|
|
287
|
+
if (plan.intent.hookAgenda.eligibleResolve.includes(hookId)) {
|
|
288
|
+
return language === "en" ? "payoff-ready debt" : "可兑现旧债";
|
|
289
|
+
}
|
|
290
|
+
if (plan.intent.hookAgenda.staleDebt.includes(hookId)) {
|
|
291
|
+
return language === "en" ? "high-pressure debt" : "高压旧债";
|
|
292
|
+
}
|
|
293
|
+
return language === "en" ? "mainline debt" : "主要旧债";
|
|
294
|
+
}
|
|
295
|
+
findHookSummary(summaries, hookId, chapter, mode) {
|
|
296
|
+
const directChapterHit = summaries.find((summary) => summary.chapter === chapter);
|
|
297
|
+
const hookMentions = summaries.filter((summary) => this.summaryMentionsHook(summary, hookId));
|
|
298
|
+
if (mode === "seed") {
|
|
299
|
+
return hookMentions.find((summary) => summary.chapter === chapter)
|
|
300
|
+
?? hookMentions.at(0)
|
|
301
|
+
?? directChapterHit;
|
|
302
|
+
}
|
|
303
|
+
return [...hookMentions].reverse().find((summary) => summary.chapter === chapter)
|
|
304
|
+
?? hookMentions.at(-1)
|
|
305
|
+
?? directChapterHit;
|
|
306
|
+
}
|
|
307
|
+
summaryMentionsHook(summary, hookId) {
|
|
308
|
+
return [
|
|
309
|
+
summary.title,
|
|
310
|
+
summary.events,
|
|
311
|
+
summary.stateChanges,
|
|
312
|
+
summary.hookActivity,
|
|
313
|
+
].some((text) => text.includes(hookId));
|
|
314
|
+
}
|
|
315
|
+
renderHookDebtBeat(summary) {
|
|
316
|
+
return `ch${summary.chapter} ${summary.title} - ${summary.events || summary.hookActivity || summary.stateChanges || "(none)"}`;
|
|
317
|
+
}
|
|
153
318
|
}
|
|
154
319
|
//# sourceMappingURL=composer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/agents/composer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/agents/composer.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,16 +119,16 @@ function buildDimensionNote(id, language, gp, bookRules, fanficMode, fanficConfi
|
|
|
119
119
|
: "检查视角切换是否有过渡、是否与设定视角一致";
|
|
120
120
|
case 24:
|
|
121
121
|
return language === "en"
|
|
122
|
-
? "Cross-check subplot_board and chapter_summaries:
|
|
123
|
-
: "对照 subplot_board 和 chapter_summaries
|
|
122
|
+
? "Cross-check subplot_board and chapter_summaries: flag any subplot that stays dormant long enough to feel abandoned, or a recent run where every subplot is only restated instead of genuinely moving."
|
|
123
|
+
: "对照 subplot_board 和 chapter_summaries:标记那些沉寂到接近被遗忘的支线,或近期连续只被重复提及、没有真实推进的支线。";
|
|
124
124
|
case 25:
|
|
125
125
|
return language === "en"
|
|
126
|
-
? "Cross-check emotional_arcs and chapter_summaries:
|
|
127
|
-
: "对照 emotional_arcs 和 chapter_summaries
|
|
126
|
+
? "Cross-check emotional_arcs and chapter_summaries: flag any major character whose emotional line holds one pressure shape across a run instead of taking new pressure, release, reversal, or reinterpretation. Distinguish unchanged circumstances from unchanged inner movement."
|
|
127
|
+
: "对照 emotional_arcs 和 chapter_summaries:标记主要角色在一段时间内始终停留在同一种情绪压力形态、没有新压力、释放、转折或重估的情况。注意区分'处境未变'和'内心未变'。";
|
|
128
128
|
case 26:
|
|
129
129
|
return language === "en"
|
|
130
|
-
? "Cross-check chapter_summaries for chapter-type distribution:
|
|
131
|
-
: "对照 chapter_summaries
|
|
130
|
+
? "Cross-check chapter_summaries for chapter-type distribution: warn when the recent sequence stays in the same mode long enough to flatten rhythm, or when payoff / release beats disappear for too long. Explicitly list the recent type sequence."
|
|
131
|
+
: "对照 chapter_summaries 的章节类型分布:当近期章节长时间停留在同一种模式、把节奏压平,或回收/释放/高潮章节缺席过久时给出 warning。请明确列出最近章节的类型序列。";
|
|
132
132
|
case 28:
|
|
133
133
|
return language === "en"
|
|
134
134
|
? "Check whether spinoff events contradict the mainline canon constraints."
|
|
@@ -147,8 +147,8 @@ function buildDimensionNote(id, language, gp, bookRules, fanficMode, fanficConfi
|
|
|
147
147
|
: "检查番外是否越权回收正传伏笔(warning级别)";
|
|
148
148
|
case 32:
|
|
149
149
|
return language === "en"
|
|
150
|
-
? "Check
|
|
151
|
-
: "
|
|
150
|
+
? "Check whether the ending renews curiosity, whether promised payoffs are landing on the cadence their hooks imply, whether pressure gets any release, and whether reader expectation gaps are accumulating faster than they are being satisfied."
|
|
151
|
+
: "检查:章尾是否重新点燃好奇心,已经承诺的回收是否按伏笔自身节奏落地,压力是否得到释放,读者期待缺口是在持续累积还是在被满足。";
|
|
152
152
|
case 33:
|
|
153
153
|
return language === "en"
|
|
154
154
|
? "Cross-check volume_outline: does this chapter match the planned beat for the current chapter range? Did it skip planned nodes or consume later nodes too early? Does actual pacing match the planned chapter span? If a beat planned for N chapters is consumed in 1-2 chapters -> critical."
|