@actalk/inkos-core 1.4.1 → 1.5.0-canary.47.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.
- package/dist/agent/agent-session.d.ts +15 -0
- package/dist/agent/agent-session.d.ts.map +1 -1
- package/dist/agent/agent-session.js +256 -26
- package/dist/agent/agent-session.js.map +1 -1
- package/dist/agent/agent-system-prompt.d.ts +8 -1
- package/dist/agent/agent-system-prompt.d.ts.map +1 -1
- package/dist/agent/agent-system-prompt.js +382 -176
- package/dist/agent/agent-system-prompt.js.map +1 -1
- package/dist/agent/agent-tools.d.ts +156 -19
- package/dist/agent/agent-tools.d.ts.map +1 -1
- package/dist/agent/agent-tools.js +980 -46
- package/dist/agent/agent-tools.js.map +1 -1
- package/dist/agent/context-transform.d.ts +4 -1
- package/dist/agent/context-transform.d.ts.map +1 -1
- package/dist/agent/context-transform.js +104 -9
- package/dist/agent/context-transform.js.map +1 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agents/architect.d.ts +11 -1
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +242 -114
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/chapter-analyzer.js +1 -1
- package/dist/agents/chapter-analyzer.js.map +1 -1
- package/dist/agents/composer.d.ts +36 -0
- package/dist/agents/composer.d.ts.map +1 -1
- package/dist/agents/composer.js +503 -20
- package/dist/agents/composer.js.map +1 -1
- package/dist/agents/continuity.d.ts +3 -0
- package/dist/agents/continuity.d.ts.map +1 -1
- package/dist/agents/continuity.js +28 -14
- package/dist/agents/continuity.js.map +1 -1
- package/dist/agents/en-prompt-sections.d.ts.map +1 -1
- package/dist/agents/en-prompt-sections.js +15 -1
- package/dist/agents/en-prompt-sections.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 +53 -6
- package/dist/agents/fanfic-canon-importer.js.map +1 -1
- package/dist/agents/foundation-reviewer.d.ts +1 -0
- package/dist/agents/foundation-reviewer.d.ts.map +1 -1
- package/dist/agents/foundation-reviewer.js +17 -12
- package/dist/agents/foundation-reviewer.js.map +1 -1
- package/dist/agents/length-normalizer.d.ts +1 -0
- package/dist/agents/length-normalizer.d.ts.map +1 -1
- package/dist/agents/length-normalizer.js +16 -3
- package/dist/agents/length-normalizer.js.map +1 -1
- package/dist/agents/planner-prompts.d.ts +7 -7
- package/dist/agents/planner-prompts.d.ts.map +1 -1
- package/dist/agents/planner-prompts.js +29 -29
- package/dist/agents/planner-prompts.js.map +1 -1
- package/dist/agents/planner.d.ts +6 -5
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +90 -6
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/post-write-validator.d.ts.map +1 -1
- package/dist/agents/post-write-validator.js +49 -0
- package/dist/agents/post-write-validator.js.map +1 -1
- package/dist/agents/reviser.js +10 -0
- package/dist/agents/reviser.js.map +1 -1
- package/dist/agents/rules-reader.d.ts +6 -14
- package/dist/agents/rules-reader.d.ts.map +1 -1
- package/dist/agents/rules-reader.js +15 -28
- package/dist/agents/rules-reader.js.map +1 -1
- package/dist/agents/short-fiction.d.ts +4 -0
- package/dist/agents/short-fiction.d.ts.map +1 -1
- package/dist/agents/short-fiction.js +51 -8
- package/dist/agents/short-fiction.js.map +1 -1
- package/dist/agents/state-validator.d.ts +0 -2
- package/dist/agents/state-validator.d.ts.map +1 -1
- package/dist/agents/state-validator.js +4 -16
- package/dist/agents/state-validator.js.map +1 -1
- package/dist/agents/style-analyzer.d.ts +1 -1
- package/dist/agents/style-analyzer.d.ts.map +1 -1
- package/dist/agents/style-analyzer.js +34 -17
- package/dist/agents/style-analyzer.js.map +1 -1
- package/dist/agents/writer-prompts.d.ts.map +1 -1
- package/dist/agents/writer-prompts.js +160 -12
- package/dist/agents/writer-prompts.js.map +1 -1
- package/dist/agents/writer.d.ts.map +1 -1
- package/dist/agents/writer.js +31 -9
- package/dist/agents/writer.js.map +1 -1
- package/dist/index.d.ts +18 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/interaction/action-envelope.d.ts +261 -0
- package/dist/interaction/action-envelope.d.ts.map +1 -0
- package/dist/interaction/action-envelope.js +102 -0
- package/dist/interaction/action-envelope.js.map +1 -0
- package/dist/interaction/book-session-store.d.ts +6 -2
- package/dist/interaction/book-session-store.d.ts.map +1 -1
- package/dist/interaction/book-session-store.js +21 -3
- package/dist/interaction/book-session-store.js.map +1 -1
- package/dist/interaction/edit-controller.d.ts +5 -0
- package/dist/interaction/edit-controller.d.ts.map +1 -1
- package/dist/interaction/edit-controller.js +123 -26
- package/dist/interaction/edit-controller.js.map +1 -1
- package/dist/interaction/events.d.ts +4 -4
- package/dist/interaction/intents.d.ts +9 -6
- package/dist/interaction/intents.d.ts.map +1 -1
- package/dist/interaction/intents.js +2 -1
- package/dist/interaction/intents.js.map +1 -1
- package/dist/interaction/project-control.d.ts +3 -43
- package/dist/interaction/project-control.d.ts.map +1 -1
- package/dist/interaction/project-control.js +1 -53
- package/dist/interaction/project-control.js.map +1 -1
- package/dist/interaction/project-tools.d.ts +1 -1
- package/dist/interaction/project-tools.d.ts.map +1 -1
- package/dist/interaction/project-tools.js +41 -185
- package/dist/interaction/project-tools.js.map +1 -1
- package/dist/interaction/runtime.d.ts +1 -1
- package/dist/interaction/runtime.d.ts.map +1 -1
- package/dist/interaction/runtime.js +49 -75
- package/dist/interaction/runtime.js.map +1 -1
- package/dist/interaction/session-transcript-legacy.d.ts.map +1 -1
- package/dist/interaction/session-transcript-legacy.js +2 -0
- package/dist/interaction/session-transcript-legacy.js.map +1 -1
- package/dist/interaction/session-transcript-restore.d.ts +4 -3
- package/dist/interaction/session-transcript-restore.d.ts.map +1 -1
- package/dist/interaction/session-transcript-restore.js +234 -34
- package/dist/interaction/session-transcript-restore.js.map +1 -1
- package/dist/interaction/session-transcript-schema.d.ts +45 -12
- package/dist/interaction/session-transcript-schema.d.ts.map +1 -1
- package/dist/interaction/session-transcript-schema.js +6 -0
- package/dist/interaction/session-transcript-schema.js.map +1 -1
- package/dist/interaction/session-transcript.d.ts +8 -1
- package/dist/interaction/session-transcript.d.ts.map +1 -1
- package/dist/interaction/session-transcript.js +13 -1
- package/dist/interaction/session-transcript.js.map +1 -1
- package/dist/interaction/session.d.ts +78 -66
- package/dist/interaction/session.d.ts.map +1 -1
- package/dist/interaction/session.js +10 -2
- package/dist/interaction/session.js.map +1 -1
- package/dist/llm/provider.d.ts +32 -34
- package/dist/llm/provider.d.ts.map +1 -1
- package/dist/llm/provider.js +144 -127
- package/dist/llm/provider.js.map +1 -1
- package/dist/models/book-rules.d.ts +6 -4
- package/dist/models/book-rules.d.ts.map +1 -1
- package/dist/models/book-rules.js +187 -8
- package/dist/models/book-rules.js.map +1 -1
- package/dist/models/context-compression.d.ts +13 -0
- package/dist/models/context-compression.d.ts.map +1 -0
- package/dist/models/context-compression.js +2 -0
- package/dist/models/context-compression.js.map +1 -0
- package/dist/models/input-governance.d.ts +53 -12
- package/dist/models/input-governance.d.ts.map +1 -1
- package/dist/models/input-governance.js +16 -0
- package/dist/models/input-governance.js.map +1 -1
- package/dist/models/play.d.ts +530 -0
- package/dist/models/play.d.ts.map +1 -0
- package/dist/models/play.js +318 -0
- package/dist/models/play.js.map +1 -0
- 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/pipeline/chapter-review-cycle.d.ts.map +1 -1
- package/dist/pipeline/chapter-review-cycle.js +29 -3
- package/dist/pipeline/chapter-review-cycle.js.map +1 -1
- package/dist/pipeline/persisted-governed-plan.d.ts.map +1 -1
- package/dist/pipeline/persisted-governed-plan.js +98 -49
- package/dist/pipeline/persisted-governed-plan.js.map +1 -1
- package/dist/pipeline/runner.d.ts +31 -0
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +212 -68
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pipeline/short-fiction-runner.d.ts +14 -0
- package/dist/pipeline/short-fiction-runner.d.ts.map +1 -1
- package/dist/pipeline/short-fiction-runner.js +242 -94
- package/dist/pipeline/short-fiction-runner.js.map +1 -1
- package/dist/play/play-agents.d.ts +71 -0
- package/dist/play/play-agents.d.ts.map +1 -0
- package/dist/play/play-agents.js +511 -0
- package/dist/play/play-agents.js.map +1 -0
- package/dist/play/play-db-factory.d.ts +9 -0
- package/dist/play/play-db-factory.d.ts.map +1 -0
- package/dist/play/play-db-factory.js +18 -0
- package/dist/play/play-db-factory.js.map +1 -0
- package/dist/play/play-db.d.ts +22 -0
- package/dist/play/play-db.d.ts.map +1 -0
- package/dist/play/play-db.js +248 -0
- package/dist/play/play-db.js.map +1 -0
- package/dist/play/play-file-db.d.ts +32 -0
- package/dist/play/play-file-db.d.ts.map +1 -0
- package/dist/play/play-file-db.js +156 -0
- package/dist/play/play-file-db.js.map +1 -0
- package/dist/play/play-image.d.ts +58 -0
- package/dist/play/play-image.d.ts.map +1 -0
- package/dist/play/play-image.js +142 -0
- package/dist/play/play-image.js.map +1 -0
- package/dist/play/play-reducer.d.ts +31 -0
- package/dist/play/play-reducer.d.ts.map +1 -0
- package/dist/play/play-reducer.js +261 -0
- package/dist/play/play-reducer.js.map +1 -0
- package/dist/play/play-runner.d.ts +102 -0
- package/dist/play/play-runner.d.ts.map +1 -0
- package/dist/play/play-runner.js +465 -0
- package/dist/play/play-runner.js.map +1 -0
- package/dist/play/play-store.d.ts +112 -0
- package/dist/play/play-store.d.ts.map +1 -0
- package/dist/play/play-store.js +311 -0
- package/dist/play/play-store.js.map +1 -0
- package/dist/prompts/short-fiction.d.ts +5 -0
- package/dist/prompts/short-fiction.d.ts.map +1 -1
- package/dist/prompts/short-fiction.js +46 -22
- package/dist/prompts/short-fiction.js.map +1 -1
- package/dist/state/state-bootstrap.d.ts.map +1 -1
- package/dist/state/state-bootstrap.js +12 -25
- package/dist/state/state-bootstrap.js.map +1 -1
- package/dist/state/state-reducer.js +31 -22
- package/dist/state/state-reducer.js.map +1 -1
- package/dist/utils/book-eval.d.ts +35 -0
- package/dist/utils/book-eval.d.ts.map +1 -0
- package/dist/utils/book-eval.js +116 -0
- package/dist/utils/book-eval.js.map +1 -0
- package/dist/utils/chapter-memo-parser.d.ts +10 -7
- package/dist/utils/chapter-memo-parser.d.ts.map +1 -1
- package/dist/utils/chapter-memo-parser.js +86 -43
- package/dist/utils/chapter-memo-parser.js.map +1 -1
- package/dist/utils/context-assembly.d.ts +2 -0
- package/dist/utils/context-assembly.d.ts.map +1 -1
- package/dist/utils/context-assembly.js +38 -1
- package/dist/utils/context-assembly.js.map +1 -1
- package/dist/utils/hook-health.d.ts.map +1 -1
- package/dist/utils/hook-health.js +5 -2
- package/dist/utils/hook-health.js.map +1 -1
- package/dist/utils/hook-ledger-validator.d.ts +1 -1
- package/dist/utils/hook-ledger-validator.d.ts.map +1 -1
- package/dist/utils/hook-ledger-validator.js +5 -5
- package/dist/utils/hook-ledger-validator.js.map +1 -1
- package/dist/utils/hook-lifecycle.d.ts +1 -0
- package/dist/utils/hook-lifecycle.d.ts.map +1 -1
- package/dist/utils/hook-lifecycle.js +10 -3
- package/dist/utils/hook-lifecycle.js.map +1 -1
- package/dist/utils/language.d.ts +10 -0
- package/dist/utils/language.d.ts.map +1 -0
- package/dist/utils/language.js +18 -0
- package/dist/utils/language.js.map +1 -0
- package/dist/utils/length-metrics.d.ts +3 -0
- package/dist/utils/length-metrics.d.ts.map +1 -1
- package/dist/utils/length-metrics.js +8 -0
- package/dist/utils/length-metrics.js.map +1 -1
- package/dist/utils/memory-retrieval.d.ts.map +1 -1
- package/dist/utils/memory-retrieval.js +19 -15
- package/dist/utils/memory-retrieval.js.map +1 -1
- package/dist/utils/outline-paths.d.ts +12 -0
- package/dist/utils/outline-paths.d.ts.map +1 -1
- package/dist/utils/outline-paths.js +68 -0
- package/dist/utils/outline-paths.js.map +1 -1
- package/package.json +1 -1
- package/dist/interaction/nl-router.d.ts +0 -8
- package/dist/interaction/nl-router.d.ts.map +0 -1
- package/dist/interaction/nl-router.js +0 -218
- package/dist/interaction/nl-router.js.map +0 -1
- package/dist/pipeline/agent.d.ts +0 -15
- package/dist/pipeline/agent.d.ts.map +0 -1
- package/dist/pipeline/agent.js +0 -597
- package/dist/pipeline/agent.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { join, relative } from "node:path";
|
|
3
|
-
import YAML from "js-yaml";
|
|
4
3
|
import { ChapterIntentSchema, } from "../models/input-governance.js";
|
|
5
4
|
import { parseMemo, PlannerParseError } from "../utils/chapter-memo-parser.js";
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Persisted governed plans are stored as a human-readable markdown file.
|
|
7
|
+
* The model-facing memo protocol is also Markdown; we do not require LLMs to
|
|
8
|
+
* emit YAML frontmatter. If an old YAML-frontmatter cache is encountered, this
|
|
9
|
+
* loader returns null and the runner re-plans.
|
|
10
10
|
*
|
|
11
11
|
* File path: `story/runtime/chapter-NNNN.plan.md`
|
|
12
12
|
*
|
|
@@ -30,23 +30,7 @@ function intentPath(bookDir, chapterNumber) {
|
|
|
30
30
|
}
|
|
31
31
|
export async function savePersistedPlan(bookDir, plan) {
|
|
32
32
|
const { intent, memo, plannerInputs } = plan;
|
|
33
|
-
const
|
|
34
|
-
chapter: memo.chapter,
|
|
35
|
-
goal: memo.goal,
|
|
36
|
-
isGoldenOpening: memo.isGoldenOpening,
|
|
37
|
-
threadRefs: memo.threadRefs,
|
|
38
|
-
intent: {
|
|
39
|
-
goal: intent.goal,
|
|
40
|
-
outlineNode: intent.outlineNode,
|
|
41
|
-
arcContext: intent.arcContext,
|
|
42
|
-
mustKeep: intent.mustKeep,
|
|
43
|
-
mustAvoid: intent.mustAvoid,
|
|
44
|
-
styleEmphasis: intent.styleEmphasis,
|
|
45
|
-
},
|
|
46
|
-
plannerInputs: [...plannerInputs],
|
|
47
|
-
};
|
|
48
|
-
const yaml = YAML.dump(frontmatter, { lineWidth: -1 });
|
|
49
|
-
const content = `---\n${yaml}---\n${memo.body}\n`;
|
|
33
|
+
const content = renderPersistedPlanMarkdown(intent, memo, plannerInputs);
|
|
50
34
|
await writeFile(planPath(bookDir, memo.chapter), content, "utf-8");
|
|
51
35
|
}
|
|
52
36
|
export async function loadPersistedPlan(bookDir, chapterNumber) {
|
|
@@ -57,36 +41,17 @@ export async function loadPersistedPlan(bookDir, chapterNumber) {
|
|
|
57
41
|
catch {
|
|
58
42
|
return loadLegacyIntentPlan(bookDir, chapterNumber);
|
|
59
43
|
}
|
|
60
|
-
|
|
61
|
-
if (!match)
|
|
62
|
-
return null;
|
|
63
|
-
let fm;
|
|
64
|
-
try {
|
|
65
|
-
fm = YAML.load(match[1]);
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
if (!fm || typeof fm !== "object" || Array.isArray(fm))
|
|
71
|
-
return null;
|
|
72
|
-
const f = fm;
|
|
73
|
-
if (typeof f.chapter !== "number" || f.chapter !== chapterNumber)
|
|
74
|
-
return null;
|
|
75
|
-
if (typeof f.isGoldenOpening !== "boolean")
|
|
76
|
-
return null;
|
|
77
|
-
if (!f.intent || typeof f.intent !== "object")
|
|
44
|
+
if (raw.trimStart().startsWith("---"))
|
|
78
45
|
return null;
|
|
79
46
|
// Reconstruct memo via the same strict parser planner uses. This guarantees
|
|
80
47
|
// the 7 required section headings are still present — any drift triggers
|
|
81
48
|
// re-planning (null return).
|
|
82
49
|
let memo;
|
|
83
50
|
try {
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
})}---\n${match[2]}`;
|
|
89
|
-
memo = parseMemo(reconstructed, chapterNumber, f.isGoldenOpening);
|
|
51
|
+
const memoBlock = extractMarkedBlock(raw, "MEMO");
|
|
52
|
+
if (!memoBlock)
|
|
53
|
+
return null;
|
|
54
|
+
memo = parseMemo(memoBlock, chapterNumber, readBooleanField(raw, "Golden Opening") ?? false);
|
|
90
55
|
}
|
|
91
56
|
catch (error) {
|
|
92
57
|
if (error instanceof PlannerParseError)
|
|
@@ -97,15 +62,18 @@ export async function loadPersistedPlan(bookDir, chapterNumber) {
|
|
|
97
62
|
try {
|
|
98
63
|
intent = ChapterIntentSchema.parse({
|
|
99
64
|
chapter: chapterNumber,
|
|
100
|
-
|
|
65
|
+
goal: readField(raw, "Intent Goal") ?? memo.goal,
|
|
66
|
+
outlineNode: readOptionalField(raw, "Outline Node"),
|
|
67
|
+
arcContext: readOptionalField(raw, "Arc Context"),
|
|
68
|
+
mustKeep: readListSection(raw, "Must Keep"),
|
|
69
|
+
mustAvoid: readListSection(raw, "Must Avoid"),
|
|
70
|
+
styleEmphasis: readListSection(raw, "Style Emphasis"),
|
|
101
71
|
});
|
|
102
72
|
}
|
|
103
73
|
catch {
|
|
104
74
|
return null;
|
|
105
75
|
}
|
|
106
|
-
const plannerInputs =
|
|
107
|
-
? f.plannerInputs.filter((value) => typeof value === "string")
|
|
108
|
-
: [];
|
|
76
|
+
const plannerInputs = readListSection(raw, "Planner Inputs");
|
|
109
77
|
// intentMarkdown is a display artifact — read the sibling .intent.md so we
|
|
110
78
|
// surface the same content downstream consumers expect. If it's missing we
|
|
111
79
|
// fall back to the memo body, which is usable but less rich.
|
|
@@ -124,6 +92,87 @@ export async function loadPersistedPlan(bookDir, chapterNumber) {
|
|
|
124
92
|
runtimePath: intentPath(bookDir, chapterNumber),
|
|
125
93
|
};
|
|
126
94
|
}
|
|
95
|
+
function renderPersistedPlanMarkdown(intent, memo, plannerInputs) {
|
|
96
|
+
return [
|
|
97
|
+
`# Chapter ${memo.chapter} Plan`,
|
|
98
|
+
"",
|
|
99
|
+
"## Metadata",
|
|
100
|
+
`Chapter: ${memo.chapter}`,
|
|
101
|
+
`Golden Opening: ${memo.isGoldenOpening ? "yes" : "no"}`,
|
|
102
|
+
"",
|
|
103
|
+
"<!-- INKOS_PLAN_MEMO_START -->",
|
|
104
|
+
renderMemoMarkdown(memo),
|
|
105
|
+
"<!-- INKOS_PLAN_MEMO_END -->",
|
|
106
|
+
"",
|
|
107
|
+
"## Intent",
|
|
108
|
+
`Intent Goal: ${intent.goal}`,
|
|
109
|
+
`Outline Node: ${intent.outlineNode ?? "(none)"}`,
|
|
110
|
+
`Arc Context: ${intent.arcContext ?? "(none)"}`,
|
|
111
|
+
"",
|
|
112
|
+
"### Must Keep",
|
|
113
|
+
renderList(intent.mustKeep),
|
|
114
|
+
"",
|
|
115
|
+
"### Must Avoid",
|
|
116
|
+
renderList(intent.mustAvoid),
|
|
117
|
+
"",
|
|
118
|
+
"### Style Emphasis",
|
|
119
|
+
renderList(intent.styleEmphasis),
|
|
120
|
+
"",
|
|
121
|
+
"## Planner Inputs",
|
|
122
|
+
renderList(plannerInputs),
|
|
123
|
+
"",
|
|
124
|
+
].join("\n");
|
|
125
|
+
}
|
|
126
|
+
function renderMemoMarkdown(memo) {
|
|
127
|
+
return [
|
|
128
|
+
`# 第 ${memo.chapter} 章 memo`,
|
|
129
|
+
"",
|
|
130
|
+
"## 本章目标",
|
|
131
|
+
memo.goal,
|
|
132
|
+
"",
|
|
133
|
+
"## 关联线索",
|
|
134
|
+
renderList(memo.threadRefs),
|
|
135
|
+
"",
|
|
136
|
+
memo.body.trim(),
|
|
137
|
+
].join("\n");
|
|
138
|
+
}
|
|
139
|
+
function renderList(items) {
|
|
140
|
+
return items.length > 0 ? items.map((item) => `- ${item}`).join("\n") : "- none";
|
|
141
|
+
}
|
|
142
|
+
function extractMarkedBlock(markdown, name) {
|
|
143
|
+
const match = markdown.match(new RegExp(`<!--\\s*INKOS_PLAN_${name}_START\\s*-->\\s*([\\s\\S]*?)\\s*<!--\\s*INKOS_PLAN_${name}_END\\s*-->`, "m"));
|
|
144
|
+
return match?.[1]?.trim();
|
|
145
|
+
}
|
|
146
|
+
function readField(markdown, label) {
|
|
147
|
+
const match = markdown.match(new RegExp(`^${escapeRegExp(label)}:\\s*(.*)$`, "m"));
|
|
148
|
+
const value = match?.[1]?.trim();
|
|
149
|
+
return value && value !== "(none)" ? value : undefined;
|
|
150
|
+
}
|
|
151
|
+
function readOptionalField(markdown, label) {
|
|
152
|
+
const value = readField(markdown, label);
|
|
153
|
+
return value && isMeaningfulLegacyValue(value) ? value : undefined;
|
|
154
|
+
}
|
|
155
|
+
function readBooleanField(markdown, label) {
|
|
156
|
+
const value = readField(markdown, label);
|
|
157
|
+
if (!value)
|
|
158
|
+
return undefined;
|
|
159
|
+
if (/^(yes|true|是)$/i.test(value))
|
|
160
|
+
return true;
|
|
161
|
+
if (/^(no|false|否)$/i.test(value))
|
|
162
|
+
return false;
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
function readListSection(markdown, heading) {
|
|
166
|
+
const section = markdown.match(new RegExp(`^#{2,3}\\s+${escapeRegExp(heading)}\\s*\\n([\\s\\S]*?)(?=\\n#{2,3}\\s+|(?![\\s\\S]))`, "m"))?.[1]?.trim();
|
|
167
|
+
if (!section)
|
|
168
|
+
return [];
|
|
169
|
+
return section
|
|
170
|
+
.split(/\r?\n/)
|
|
171
|
+
.map((line) => line.trim())
|
|
172
|
+
.filter((line) => line.startsWith("-"))
|
|
173
|
+
.map((line) => line.replace(/^-\s*/, "").trim())
|
|
174
|
+
.filter((line) => line.length > 0 && line.toLowerCase() !== "none");
|
|
175
|
+
}
|
|
127
176
|
async function loadLegacyIntentPlan(bookDir, chapterNumber) {
|
|
128
177
|
let intentMarkdown;
|
|
129
178
|
const runtimePath = intentPath(bookDir, chapterNumber);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persisted-governed-plan.js","sourceRoot":"","sources":["../../src/pipeline/persisted-governed-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"persisted-governed-plan.js","sourceRoot":"","sources":["../../src/pipeline/persisted-governed-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import type { AgentContext } from "../agents/base.js";
|
|
|
9
9
|
import type { AuditResult } from "../agents/continuity.js";
|
|
10
10
|
import type { RadarResult } from "../agents/radar.js";
|
|
11
11
|
import type { LengthTelemetry } from "../models/length-governance.js";
|
|
12
|
+
import type { ContextCompressionCallback } from "../models/context-compression.js";
|
|
12
13
|
import { type LengthLanguage } from "../utils/length-metrics.js";
|
|
13
14
|
interface ImportFoundationSourceOptions {
|
|
14
15
|
readonly maxFullTextChars?: number;
|
|
@@ -17,6 +18,12 @@ interface ImportFoundationSourceOptions {
|
|
|
17
18
|
readonly edgeChapterCount?: number;
|
|
18
19
|
readonly middleAnchorCount?: number;
|
|
19
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Build the architect external-context for a side-story (番外) foundation: frame
|
|
23
|
+
* it as a companion work that reuses the parent canon's cast/world but tells an
|
|
24
|
+
* independent side plot, and attach the parent canon as reference material.
|
|
25
|
+
*/
|
|
26
|
+
export declare function buildSpinoffFoundationContext(parentCanon: string, direction: string | undefined, language: "zh" | "en"): string;
|
|
20
27
|
export declare function buildImportFoundationSource(chapters: ReadonlyArray<{
|
|
21
28
|
readonly title: string;
|
|
22
29
|
readonly content: string;
|
|
@@ -28,6 +35,12 @@ export interface PipelineConfig {
|
|
|
28
35
|
readonly defaultLLMConfig?: LLMConfig;
|
|
29
36
|
readonly foundationReviewRetries?: number;
|
|
30
37
|
readonly writingReviewRetries?: number;
|
|
38
|
+
/**
|
|
39
|
+
* "auto" (default): writeNextChapter runs the audit→revise loop inline.
|
|
40
|
+
* "manual": stop right after the draft (no auto audit/revise) so review/revise
|
|
41
|
+
* become explicit, user-driven checkpoint actions — chapter write stays fast.
|
|
42
|
+
*/
|
|
43
|
+
readonly chapterReviewMode?: "auto" | "manual";
|
|
31
44
|
readonly notifyChannels?: ReadonlyArray<NotifyChannel>;
|
|
32
45
|
readonly radarSources?: ReadonlyArray<RadarSource>;
|
|
33
46
|
readonly externalContext?: string;
|
|
@@ -35,6 +48,7 @@ export interface PipelineConfig {
|
|
|
35
48
|
readonly inputGovernanceMode?: InputGovernanceMode;
|
|
36
49
|
readonly logger?: Logger;
|
|
37
50
|
readonly onStreamProgress?: OnStreamProgress;
|
|
51
|
+
readonly onContextCompression?: ContextCompressionCallback;
|
|
38
52
|
}
|
|
39
53
|
export interface TokenUsageSummary {
|
|
40
54
|
readonly promptTokens: number;
|
|
@@ -162,6 +176,23 @@ export declare class PipelineRunner {
|
|
|
162
176
|
importFanficCanon(bookId: string, sourceText: string, sourceName: string, fanficMode: FanficMode): Promise<string>;
|
|
163
177
|
/** One-step fanfic book creation: create book + import canon + generate foundation */
|
|
164
178
|
initFanficBook(book: BookConfig, sourceText: string, sourceName: string, fanficMode: FanficMode): Promise<void>;
|
|
179
|
+
/**
|
|
180
|
+
* Create a side-story (番外) book: a standalone companion that inherits a
|
|
181
|
+
* parent book's world/characters via parent_canon.md, but tells an INDEPENDENT
|
|
182
|
+
* side plot that does not advance or contradict the parent's main-line state.
|
|
183
|
+
* Reuses importCanon (which already builds the parent-canon reference for
|
|
184
|
+
* side-story writing) + the standard original-foundation architect path.
|
|
185
|
+
*/
|
|
186
|
+
initSpinoffBook(book: BookConfig, parentBookId: string, direction?: string): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* Create an imitation (仿写) book: an ORIGINAL story whose prose imitates the
|
|
189
|
+
* voice of a reference work. The architect builds an original foundation from
|
|
190
|
+
* the user's story idea; the reference text becomes the book's style_guide.md
|
|
191
|
+
* so the writer mimics its style. The style guide is mandatory here (imitation
|
|
192
|
+
* is the whole point), so a failure to generate it surfaces rather than being
|
|
193
|
+
* silently skipped.
|
|
194
|
+
*/
|
|
195
|
+
initImitationBook(book: BookConfig, referenceText: string, storyIdea: string, sourceName?: string): Promise<void>;
|
|
165
196
|
/** Write a single draft chapter. Saves chapter file + truth files + index + snapshot. */
|
|
166
197
|
writeDraft(bookId: string, context?: string, wordCount?: number): Promise<DraftResult>;
|
|
167
198
|
planChapter(bookId: string, context?: string): Promise<PlanChapterResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAU5G,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAyG,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAoCxK,UAAU,6BAA6B;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AA+FD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7E,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,6BAAkC,GAC1C,MAAM,CA8CR;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IACtC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC;IACpE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|