@kienmatu/inkos-core 0.1.3 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/agent/agent-session.js +2 -2
  2. package/dist/agent/agent-session.js.map +1 -1
  3. package/dist/agent/agent-system-prompt.d.ts.map +1 -1
  4. package/dist/agent/agent-system-prompt.js +3 -2
  5. package/dist/agent/agent-system-prompt.js.map +1 -1
  6. package/dist/agent/agent-tools.d.ts +1 -0
  7. package/dist/agent/agent-tools.d.ts.map +1 -1
  8. package/dist/agent/agent-tools.js +16 -8
  9. package/dist/agent/agent-tools.js.map +1 -1
  10. package/dist/agent/pi-stream.d.ts.map +1 -1
  11. package/dist/agent/pi-stream.js +74 -3
  12. package/dist/agent/pi-stream.js.map +1 -1
  13. package/dist/agents/architect.js +7 -7
  14. package/dist/agents/continuity.d.ts.map +1 -1
  15. package/dist/agents/continuity.js +2 -1
  16. package/dist/agents/continuity.js.map +1 -1
  17. package/dist/agents/fanfic-prompt-sections.d.ts +3 -3
  18. package/dist/agents/fanfic-prompt-sections.d.ts.map +1 -1
  19. package/dist/agents/fanfic-prompt-sections.js +83 -3
  20. package/dist/agents/fanfic-prompt-sections.js.map +1 -1
  21. package/dist/agents/observer-prompts.js +1 -1
  22. package/dist/agents/observer-prompts.js.map +1 -1
  23. package/dist/agents/planner-prompts.d.ts +1 -1
  24. package/dist/agents/planner-prompts.d.ts.map +1 -1
  25. package/dist/agents/planner-prompts.js +15 -14
  26. package/dist/agents/planner-prompts.js.map +1 -1
  27. package/dist/agents/planner.d.ts.map +1 -1
  28. package/dist/agents/planner.js +2 -2
  29. package/dist/agents/planner.js.map +1 -1
  30. package/dist/agents/post-write-validator.d.ts +2 -0
  31. package/dist/agents/post-write-validator.d.ts.map +1 -1
  32. package/dist/agents/post-write-validator.js +6 -2
  33. package/dist/agents/post-write-validator.js.map +1 -1
  34. package/dist/agents/settler-prompts.d.ts +1 -0
  35. package/dist/agents/settler-prompts.d.ts.map +1 -1
  36. package/dist/agents/settler-prompts.js +200 -13
  37. package/dist/agents/settler-prompts.js.map +1 -1
  38. package/dist/agents/short-fiction.d.ts +12 -9
  39. package/dist/agents/short-fiction.d.ts.map +1 -1
  40. package/dist/agents/short-fiction.js +269 -49
  41. package/dist/agents/short-fiction.js.map +1 -1
  42. package/dist/agents/writer-prompts.d.ts +6 -0
  43. package/dist/agents/writer-prompts.d.ts.map +1 -1
  44. package/dist/agents/writer-prompts.js +97 -36
  45. package/dist/agents/writer-prompts.js.map +1 -1
  46. package/dist/agents/writer.d.ts.map +1 -1
  47. package/dist/agents/writer.js +6 -1
  48. package/dist/agents/writer.js.map +1 -1
  49. package/dist/interaction/action-envelope.d.ts +10 -10
  50. package/dist/interaction/action-envelope.d.ts.map +1 -1
  51. package/dist/interaction/action-envelope.js +13 -6
  52. package/dist/interaction/action-envelope.js.map +1 -1
  53. package/dist/interaction/project-tools.d.ts +3 -1
  54. package/dist/interaction/project-tools.d.ts.map +1 -1
  55. package/dist/interaction/project-tools.js +27 -8
  56. package/dist/interaction/project-tools.js.map +1 -1
  57. package/dist/llm/provider.d.ts +6 -0
  58. package/dist/llm/provider.d.ts.map +1 -1
  59. package/dist/llm/provider.js +28 -2
  60. package/dist/llm/provider.js.map +1 -1
  61. package/dist/models/short-fiction-format.d.ts +10 -0
  62. package/dist/models/short-fiction-format.d.ts.map +1 -0
  63. package/dist/models/short-fiction-format.js +41 -0
  64. package/dist/models/short-fiction-format.js.map +1 -0
  65. package/dist/pipeline/chapter-review-cycle.d.ts +3 -8
  66. package/dist/pipeline/chapter-review-cycle.d.ts.map +1 -1
  67. package/dist/pipeline/chapter-review-cycle.js +3 -1
  68. package/dist/pipeline/chapter-review-cycle.js.map +1 -1
  69. package/dist/pipeline/chapter-state-recovery.d.ts +2 -4
  70. package/dist/pipeline/chapter-state-recovery.d.ts.map +1 -1
  71. package/dist/pipeline/chapter-state-recovery.js.map +1 -1
  72. package/dist/pipeline/chapter-truth-validation.d.ts +2 -4
  73. package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -1
  74. package/dist/pipeline/chapter-truth-validation.js.map +1 -1
  75. package/dist/pipeline/runner.d.ts +14 -0
  76. package/dist/pipeline/runner.d.ts.map +1 -1
  77. package/dist/pipeline/runner.js +55 -38
  78. package/dist/pipeline/runner.js.map +1 -1
  79. package/dist/pipeline/short-fiction-runner.d.ts.map +1 -1
  80. package/dist/pipeline/short-fiction-runner.js +19 -6
  81. package/dist/pipeline/short-fiction-runner.js.map +1 -1
  82. package/dist/prompts/short-fiction.d.ts +3 -0
  83. package/dist/prompts/short-fiction.d.ts.map +1 -1
  84. package/dist/prompts/short-fiction.js +155 -85
  85. package/dist/prompts/short-fiction.js.map +1 -1
  86. package/dist/utils/chapter-memo-parser.d.ts +10 -0
  87. package/dist/utils/chapter-memo-parser.d.ts.map +1 -1
  88. package/dist/utils/chapter-memo-parser.js +59 -10
  89. package/dist/utils/chapter-memo-parser.js.map +1 -1
  90. package/dist/utils/golden-opening.d.ts +12 -0
  91. package/dist/utils/golden-opening.d.ts.map +1 -0
  92. package/dist/utils/golden-opening.js +18 -0
  93. package/dist/utils/golden-opening.js.map +1 -0
  94. package/dist/utils/log-message.d.ts +13 -0
  95. package/dist/utils/log-message.d.ts.map +1 -0
  96. package/dist/utils/log-message.js +2 -0
  97. package/dist/utils/log-message.js.map +1 -0
  98. package/package.json +1 -1
  99. package/skills/inkos-short-writing/SKILL.md +2 -2
@@ -1,6 +1,9 @@
1
1
  export function buildSettlerSystemPrompt(book, genreProfile, bookRules, language) {
2
2
  const resolvedLang = language ?? genreProfile.language;
3
3
  const isEnglish = resolvedLang === "en";
4
+ if (isEnglish) {
5
+ return buildSettlerSystemPromptEn(book, genreProfile, bookRules);
6
+ }
4
7
  const numericalBlock = genreProfile.numericalSystem
5
8
  ? `\n- 本题材有数值/资源体系,你必须在 UPDATED_LEDGER 中追踪正文中出现的所有资源变动
6
9
  - 数值验算铁律:期初 + 增量 = 期末,三项必须可验算`
@@ -21,10 +24,7 @@ export function buildSettlerSystemPrompt(book, genreProfile, bookRules, language
21
24
  const fullCastBlock = bookRules?.enableFullCastTracking
22
25
  ? `\n## 全员追踪\nPOST_SETTLEMENT 必须额外包含:本章出场角色清单、角色间关系变动、未出场但被提及的角色。`
23
26
  : "";
24
- const langPrefix = isEnglish
25
- ? `【LANGUAGE OVERRIDE】ALL output (state card, hooks, summaries, subplots, emotional arcs, character matrix) MUST be in English. The === TAG === markers remain unchanged.\n\n`
26
- : "";
27
- return `${langPrefix}你是状态追踪分析师。给定新章节正文和当前 truth 文件,你的任务是产出更新后的 truth 文件。
27
+ return `你是状态追踪分析师。给定新章节正文和当前 truth 文件,你的任务是产出更新后的 truth 文件。
28
28
 
29
29
  ## 工作模式
30
30
 
@@ -73,6 +73,81 @@ ${buildSettlerOutputFormat(genreProfile)}
73
73
  - 第 1 章尤其注意:初始追踪文件可能包含从大纲预生成的内容,只保留正文实际支持的部分,不要保留正文未涉及的预设
74
74
  - **伏笔例外**:正文中出现的未解疑问、悬念、伏笔线索必须在 hooks 中记录。这不是"推断",而是"提取正文中的叙事承诺"。如果正文暗示了一个谜题/冲突/秘密但没有解答,那就是一个 hook,必须记录`;
75
75
  }
76
+ function buildSettlerSystemPromptEn(book, genreProfile, bookRules) {
77
+ const numericalBlock = genreProfile.numericalSystem
78
+ ? `\n- This genre has a numeric/resource system. You must track every resource change the prose shows in UPDATED_LEDGER
79
+ - Hard rule for the arithmetic: opening + delta = closing. All three figures must check out`
80
+ : `\n- This genre has no numeric system. Leave UPDATED_LEDGER empty`;
81
+ const hookRules = `
82
+ ## Hook tracking rules (strictly enforced)
83
+
84
+ In this document, a "hook" is a planted open question the story has promised to pay off — a tracked thread, Chekhov's gun — not the chapter-opening grab or the end-of-chapter cliffhanger.
85
+
86
+ - **New hook**: open a new hook_id only when the prose raises an unresolved question that carries into later chapters AND has a concrete direction for its payoff. Do not open a new hook for a rephrasing, a restatement, or an abstract summary of a hook that already exists.
87
+ - **Mentioned**: an existing hook is referred to this chapter but nothing was added — no new information, no change in what the reader or the characters understand about it → put it in the \`mention\` array; do not update lastAdvancedChapter.
88
+ - **Advanced**: an existing hook gained a new fact, a piece of evidence, a shift in a relationship, an escalation of risk, or a narrowing of scope (fewer suspects, fewer possible explanations, a deadline moved closer) → you **must** set lastAdvancedChapter to the current chapter number, and update its status and \`notes\`.
89
+ - **Resolved**: the hook was explicitly revealed, settled, or rendered moot → set its status to resolved and record how it landed in \`notes\`.
90
+ - **Deferred**: mark a hook deferred only when the prose actively shelves it, moves it to the background, or the plot pushes it back. Do not defer mechanically just because several chapters have passed.
91
+ - The current hook pool contains both active hooks and dormant seeds that are semantically related to this chapter. Dormant does not mean irrelevant: if this chapter starts, reworks, or makes one concrete, you must reuse its existing hookId and update its status, payoff direction, and notes in hookOps.upsert.
92
+ - Judging whether a new phrasing in the prose is still the same narrative promise is your job, not the host's. Even when the characters, numbers, form of evidence, or wording change, if it carries the same suspense or payoff promise, update the existing hookId rather than opening a candidate.
93
+ - newHookCandidates is only for a genuinely new narrative promise that nothing in the current hook pool represents. The host validates structure only; it will not guess semantic ownership for you.
94
+ - payoffTiming uses semantic pacing, never a hard chapter number: only immediate / near-term / mid-arc / slow-burn / endgame.
95
+ - The \`status\` field in RUNTIME_STATE_DELTA is a closed set, exactly like payoffTiming: only open / progressing / deferred / resolved. Any other word (including the planner's narrative phase names such as planted, pressured, or near_payoff) is rejected by the schema and the whole settlement is lost. Put narrative nuance in \`notes\`, not in \`status\`.
96
+ - **Hard rule**: a hook being mentioned again, restated in different words, or recapped in the abstract is NOT an advance. Update lastAdvancedChapter only when the hook's state actually changed. A hook that merely appeared goes in the \`mention\` array.`;
97
+ const fullCastBlock = bookRules?.enableFullCastTracking
98
+ ? `\n## Full-cast tracking\nPOST_SETTLEMENT must additionally contain: the roster of characters who appear in this chapter, every change in the relationships between them, and characters who do not appear but are referred to.`
99
+ : "";
100
+ return `You are a state-tracking analyst. Given the prose of a new chapter and the current truth files, your job is to produce the updated truth files.
101
+
102
+ ## Working mode
103
+
104
+ You are not writing fiction. Your job is to:
105
+ 1. Read the prose closely and extract every state change
106
+ 2. Update incrementally on top of the "current tracking files"
107
+ 3. Output strictly in the === TAG === format
108
+
109
+ All output — state card, hooks, chapter summaries, subplots, emotional arcs, character matrix — must be written in English. The === TAG === markers and every JSON key stay exactly as given.
110
+
111
+ ## Analysis dimensions
112
+
113
+ Extract the following from the prose:
114
+ - Characters entering, leaving, or changing state (injured / advanced a rank or broke through a threshold / dead, and so on)
115
+ - Movement between locations, scene transitions
116
+ - Items and resources gained or spent
117
+ - Hooks planted, advanced, or paid off
118
+ - Shifts in the emotional arc
119
+ - Subplot progress
120
+ - Changes in the relationships between characters, and new information boundaries
121
+
122
+ ## Book information
123
+
124
+ - Title: ${book.title}
125
+ - Genre: ${genreProfile.name} (${book.genre})
126
+ - Platform: ${book.platform}
127
+ ${numericalBlock}
128
+ ${hookRules}${fullCastBlock}
129
+
130
+ ## Output format (follow it exactly)
131
+
132
+ ${buildSettlerOutputFormatEn(genreProfile)}
133
+
134
+ ## Key rules
135
+
136
+ 1. The state card and the hook pool are incremental updates on top of the "current tracking files", never written from scratch
137
+ 2. Every factual change in the prose must be reflected in the corresponding tracking file
138
+ 3. Do not drop details: numeric changes, location changes, relationship changes and information changes all get recorded
139
+ 4. The "information boundary" in the character interaction matrix must be exact — a character knows only what happened while they were present
140
+
141
+ ## Hard rule: record only what actually happened in the prose (strictly enforced)
142
+
143
+ - **Extract only the events and state changes the prose explicitly describes.** Do not infer, predict, or fill in anything the prose did not write
144
+ - If the prose has the character reach the door and not go through it, the state card cannot say the character has entered the room
145
+ - If the prose only hints at a possibility without confirming it, do not record it as an established fact
146
+ - Do not pull plot the prose has not reached yet out of the volume outline or the story outline into the state card
147
+ - Do not delete or rewrite anything in the existing hooks that this chapter did not touch — update only the hooks this chapter's prose bears on
148
+ - Chapter 1 needs particular care: the initial tracking files may hold content pre-generated from the outline. Keep only the parts the prose actually supports, and drop every preset the prose never reached
149
+ - **Hook exception**: an unresolved question, a piece of suspense, or a planted thread that the prose raises must be recorded in hooks. That is not inference — it is extracting the narrative promise the prose made. If the prose raises a mystery, a conflict, or a secret and leaves it unanswered, that is a hook and it must be recorded`;
150
+ }
76
151
  function buildSettlerOutputFormat(gp) {
77
152
  const chapterTypeExample = gp.chapterTypes.length > 0
78
153
  ? gp.chapterTypes[0]
@@ -145,35 +220,147 @@ function buildSettlerOutputFormat(gp) {
145
220
  7. 如果回收或延后 hook,必须放在 resolve / defer 数组里
146
221
  8. chapterSummary.chapter 必须等于当前章节号`;
147
222
  }
223
+ function buildSettlerOutputFormatEn(gp) {
224
+ const chapterTypeExample = gp.chapterTypes.length > 0
225
+ ? gp.chapterTypes[0]
226
+ : "main-plot advance";
227
+ return `=== POST_SETTLEMENT ===
228
+ (Briefly state which states changed this chapter, which hooks advanced, and anything the settlement should watch for; a Markdown table or bullet points are both fine)
229
+
230
+ === RUNTIME_STATE_DELTA ===
231
+ (Must be JSON. No Markdown, no commentary.)
232
+ \`\`\`json
233
+ {
234
+ "chapter": 12,
235
+ "currentStatePatch": {
236
+ "currentLocation": "optional",
237
+ "protagonistState": "optional",
238
+ "currentGoal": "optional",
239
+ "currentConstraint": "optional",
240
+ "currentAlliances": "optional",
241
+ "currentConflict": "optional"
242
+ },
243
+ "hookOps": {
244
+ "upsert": [
245
+ {
246
+ "hookId": "mentor-oath",
247
+ "startChapter": 8,
248
+ "type": "relationship",
249
+ "status": "progressing",
250
+ "lastAdvancedChapter": 12,
251
+ "expectedPayoff": "uncover the truth behind the debt owed to the mentor",
252
+ "payoffTiming": "slow-burn",
253
+ "notes": "why this hook advanced / was deferred / was resolved this chapter"
254
+ }
255
+ ],
256
+ "mention": ["hookIds this chapter only referred to, with no real advance"],
257
+ "resolve": ["hookIds that were paid off"],
258
+ "defer": ["hookIds that need to be marked deferred"]
259
+ },
260
+ "newHookCandidates": [
261
+ {
262
+ "type": "mystery",
263
+ "expectedPayoff": "where this new hook should eventually pay off",
264
+ "payoffTiming": "near-term",
265
+ "notes": "why this chapter opens a new unresolved question"
266
+ }
267
+ ],
268
+ "chapterSummary": {
269
+ "chapter": 12,
270
+ "title": "chapter title",
271
+ "characters": "Character A,Character B",
272
+ "events": "one sentence covering the key events",
273
+ "stateChanges": "one sentence covering the state changes",
274
+ "hookActivity": "mentor-oath advanced",
275
+ "mood": "tense",
276
+ "chapterType": "${chapterTypeExample}"
277
+ },
278
+ "subplotOps": [],
279
+ "emotionalArcOps": [],
280
+ "characterMatrixOps": [],
281
+ "notes": []
282
+ }
283
+ \`\`\`
284
+
285
+ Rules:
286
+ 1. Output the delta only; do not rewrite the full truth files
287
+ 2. Every chapter-number field must be an integer, never natural language
288
+ 3. hookOps.upsert may carry only a hookId that already exists in the current hook pool; inventing a new hookId is not allowed, and when the prose carries an existing hook forward you must reuse that id
289
+ 4. A brand-new unresolved thread goes into newHookCandidates only once you have confirmed the current hook pool holds nothing carrying the same narrative promise
290
+ 5. If an existing hook was only mentioned and its state did not really change, put it in mention and do not update lastAdvancedChapter
291
+ 6. If this chapter advanced an existing hook, lastAdvancedChapter must equal the current chapter number
292
+ 7. A hook that was paid off or shelved must go into the resolve / defer array
293
+ 8. chapterSummary.chapter must equal the current chapter number`;
294
+ }
148
295
  export function buildSettlerUserPrompt(params) {
296
+ // Default to English: a forgotten argument must not silently emit Chinese
297
+ // into an English prompt path.
298
+ const isEnglish = (params.language ?? "en") === "en";
149
299
  const ledgerBlock = params.ledger
150
- ? `\n## 当前资源账本\n${params.ledger}\n`
300
+ ? isEnglish
301
+ ? `\n## Current resource ledger\n${params.ledger}\n`
302
+ : `\n## 当前资源账本\n${params.ledger}\n`
151
303
  : "";
152
304
  const summariesBlock = params.chapterSummaries !== "(文件尚未创建)"
153
- ? `\n## 已有章节摘要\n${params.chapterSummaries}\n`
305
+ ? isEnglish
306
+ ? `\n## Existing chapter summaries\n${params.chapterSummaries}\n`
307
+ : `\n## 已有章节摘要\n${params.chapterSummaries}\n`
154
308
  : "";
155
309
  const subplotBlock = params.subplotBoard !== "(文件尚未创建)"
156
- ? `\n## 当前支线进度板\n${params.subplotBoard}\n`
310
+ ? isEnglish
311
+ ? `\n## Current subplot board\n${params.subplotBoard}\n`
312
+ : `\n## 当前支线进度板\n${params.subplotBoard}\n`
157
313
  : "";
158
314
  const emotionalBlock = params.emotionalArcs !== "(文件尚未创建)"
159
- ? `\n## 当前情感弧线\n${params.emotionalArcs}\n`
315
+ ? isEnglish
316
+ ? `\n## Current emotional arcs\n${params.emotionalArcs}\n`
317
+ : `\n## 当前情感弧线\n${params.emotionalArcs}\n`
160
318
  : "";
161
319
  const matrixBlock = params.characterMatrix !== "(文件尚未创建)"
162
- ? `\n## 当前角色交互矩阵\n${params.characterMatrix}\n`
320
+ ? isEnglish
321
+ ? `\n## Current character interaction matrix\n${params.characterMatrix}\n`
322
+ : `\n## 当前角色交互矩阵\n${params.characterMatrix}\n`
163
323
  : "";
164
324
  const observationsBlock = params.observations
165
- ? `\n## 观察日志(由 Observer 提取,包含本章所有事实变化)\n${params.observations}\n\n基于以上观察日志和正文,更新所有追踪文件。确保观察日志中的每一项变化都反映在对应的文件中。\n`
325
+ ? isEnglish
326
+ ? `\n## Observation log (extracted by the Observer; holds every factual change in this chapter)\n${params.observations}\n\nUsing the observation log and the prose, update every tracking file. Make sure each change in the observation log is reflected in the corresponding file.\n`
327
+ : `\n## 观察日志(由 Observer 提取,包含本章所有事实变化)\n${params.observations}\n\n基于以上观察日志和正文,更新所有追踪文件。确保观察日志中的每一项变化都反映在对应的文件中。\n`
166
328
  : "";
167
329
  const selectedEvidenceBlock = params.selectedEvidenceBlock
168
- ? `\n## 已选长程证据\n${params.selectedEvidenceBlock}\n`
330
+ ? isEnglish
331
+ ? `\n## Selected long-range evidence\n${params.selectedEvidenceBlock}\n`
332
+ : `\n## 已选长程证据\n${params.selectedEvidenceBlock}\n`
169
333
  : "";
170
334
  const controlBlock = params.governedControlBlock ?? "";
171
335
  const outlineBlock = controlBlock.length === 0
172
- ? `\n## 卷纲\n${params.volumeOutline}\n`
336
+ ? isEnglish
337
+ ? `\n## Volume outline\n${params.volumeOutline}\n`
338
+ : `\n## 卷纲\n${params.volumeOutline}\n`
173
339
  : "";
174
340
  const validationFeedbackBlock = params.validationFeedback
175
- ? `\n## 状态校验反馈\n${params.validationFeedback}\n\n请严格纠正这些矛盾,只修正 truth files,不要改写正文,不要引入正文中不存在的新事实。\n`
341
+ ? isEnglish
342
+ ? `\n## State validation feedback\n${params.validationFeedback}\n\nCorrect these contradictions exactly. Fix the truth files only: do not rewrite the prose, and do not introduce new facts the prose does not contain.\n`
343
+ : `\n## 状态校验反馈\n${params.validationFeedback}\n\n请严格纠正这些矛盾,只修正 truth files,不要改写正文,不要引入正文中不存在的新事实。\n`
176
344
  : "";
345
+ if (isEnglish) {
346
+ return `Analyze the prose of chapter ${params.chapterNumber}, "${params.title}", and update every tracking file.
347
+ ${observationsBlock}
348
+ ${validationFeedbackBlock}
349
+ ## This chapter's prose
350
+
351
+ ${params.content}
352
+ ${controlBlock}
353
+
354
+ ## Current state card
355
+ ${params.currentState}
356
+ ${ledgerBlock}
357
+ ## Current hook pool (active hooks plus dormant seeds related to this chapter)
358
+ ${params.hooks}
359
+ ${selectedEvidenceBlock}${summariesBlock}${subplotBlock}${emotionalBlock}${matrixBlock}
360
+ ${outlineBlock}
361
+
362
+ Output the settlement strictly in the === TAG === format.`;
363
+ }
177
364
  return `请分析第${params.chapterNumber}章「${params.title}」的正文,更新所有追踪文件。
178
365
  ${observationsBlock}
179
366
  ${validationFeedbackBlock}
@@ -1 +1 @@
1
- {"version":3,"file":"settler-prompts.js","sourceRoot":"","sources":["../../src/agents/settler-prompts.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,wBAAwB,CACtC,IAAgB,EAChB,YAA0B,EAC1B,SAA2B,EAC3B,QAAsB;IAEtB,MAAM,YAAY,GAAG,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC;IACvD,MAAM,SAAS,GAAG,YAAY,KAAK,IAAI,CAAC;IACxC,MAAM,cAAc,GAAG,YAAY,CAAC,eAAe;QACjD,CAAC,CAAC;8BACwB;QAC1B,CAAC,CAAC,gCAAgC,CAAC;IAErC,MAAM,SAAS,GAAG;;;;;;;;;;;;kFAY8D,CAAC;IAEjF,MAAM,aAAa,GAAG,SAAS,EAAE,sBAAsB;QACrD,CAAC,CAAC,gEAAgE;QAClE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,4KAA4K;QAC9K,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,GAAG,UAAU;;;;;;;;;;;;;;;;;;;;;;OAsBf,IAAI,CAAC,KAAK;OACV,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;OAC/B,IAAI,CAAC,QAAQ;EAClB,cAAc;EACd,SAAS,GAAG,aAAa;;;;EAIzB,wBAAwB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;yGAiBiE,CAAC;AAC1G,CAAC;AAED,SAAS,wBAAwB,CAAC,EAAgB;IAChD,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC;IAEX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAiDa,kBAAkB;;;;;;;;;;;;;;;;;oCAiBJ,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAgBtC;IACC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM;QAC/B,CAAC,CAAC,gBAAgB,MAAM,CAAC,MAAM,IAAI;QACnC,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,KAAK,UAAU;QAC3D,CAAC,CAAC,gBAAgB,MAAM,CAAC,gBAAgB,IAAI;QAC7C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,KAAK,UAAU;QACrD,CAAC,CAAC,iBAAiB,MAAM,CAAC,YAAY,IAAI;QAC1C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,KAAK,UAAU;QACxD,CAAC,CAAC,gBAAgB,MAAM,CAAC,aAAa,IAAI;QAC1C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,KAAK,UAAU;QACvD,CAAC,CAAC,kBAAkB,MAAM,CAAC,eAAe,IAAI;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY;QAC3C,CAAC,CAAC,wCAAwC,MAAM,CAAC,YAAY,qDAAqD;QAClH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB;QACxD,CAAC,CAAC,gBAAgB,MAAM,CAAC,qBAAqB,IAAI;QAClD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACvD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC;QAC5C,CAAC,CAAC,YAAY,MAAM,CAAC,aAAa,IAAI;QACtC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,uBAAuB,GAAG,MAAM,CAAC,kBAAkB;QACvD,CAAC,CAAC,gBAAgB,MAAM,CAAC,kBAAkB,wDAAwD;QACnG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,OAAO,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,KAAK;EACnD,iBAAiB;EACjB,uBAAuB;;;EAGvB,MAAM,CAAC,OAAO;EACd,YAAY;;;EAGZ,MAAM,CAAC,YAAY;EACnB,WAAW;;EAEX,MAAM,CAAC,KAAK;EACZ,qBAAqB,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW;EACpF,YAAY;;4BAEc,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"settler-prompts.js","sourceRoot":"","sources":["../../src/agents/settler-prompts.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
1
  import { BaseAgent } from "./base.js";
2
2
  import { type ShortFictionLanguage } from "../prompts/short-fiction.js";
3
- export declare const SHORT_FICTION_DEFAULT_CHAPTERS = 12;
4
- export declare const SHORT_FICTION_MIN_CHAPTERS = 12;
5
- export declare const SHORT_FICTION_MAX_CHAPTERS = 18;
6
- export declare const SHORT_FICTION_DEFAULT_CHARS_PER_CHAPTER = 1000;
7
- export declare const SHORT_FICTION_MIN_CHARS_PER_CHAPTER = 900;
8
- export declare const SHORT_FICTION_MAX_CHARS_PER_CHAPTER = 1200;
9
- export declare const SHORT_FICTION_EN_DEFAULT_WORDS_PER_CHAPTER = 650;
10
- export declare const SHORT_FICTION_EN_MIN_WORDS_PER_CHAPTER = 600;
11
- export declare const SHORT_FICTION_EN_MAX_WORDS_PER_CHAPTER = 800;
3
+ import { SHORT_FICTION_DEFAULT_CHAPTERS, SHORT_FICTION_MIN_CHAPTERS, SHORT_FICTION_MAX_CHAPTERS, SHORT_FICTION_DEFAULT_CHARS_PER_CHAPTER, SHORT_FICTION_MIN_CHARS_PER_CHAPTER, SHORT_FICTION_MAX_CHARS_PER_CHAPTER, SHORT_FICTION_EN_DEFAULT_WORDS_PER_CHAPTER, SHORT_FICTION_EN_MIN_WORDS_PER_CHAPTER, SHORT_FICTION_EN_MAX_WORDS_PER_CHAPTER } from "../models/short-fiction-format.js";
4
+ export { SHORT_FICTION_DEFAULT_CHAPTERS, SHORT_FICTION_MIN_CHAPTERS, SHORT_FICTION_MAX_CHAPTERS, SHORT_FICTION_DEFAULT_CHARS_PER_CHAPTER, SHORT_FICTION_MIN_CHARS_PER_CHAPTER, SHORT_FICTION_MAX_CHARS_PER_CHAPTER, SHORT_FICTION_EN_DEFAULT_WORDS_PER_CHAPTER, SHORT_FICTION_EN_MIN_WORDS_PER_CHAPTER, SHORT_FICTION_EN_MAX_WORDS_PER_CHAPTER, };
5
+ export declare const SHORT_FICTION_MAX_CHAPTERS_PER_BATCH = 3;
6
+ export declare function resolveChaptersPerBatch(charsPerChapter: number, language?: ShortFictionLanguage): number;
7
+ export interface ShortFictionBatchProgress {
8
+ readonly batch: number;
9
+ readonly totalBatches: number;
10
+ readonly chapters: readonly number[];
11
+ }
12
+ export declare function chunkChapters(chapters: readonly number[], size: number): number[][];
13
+ export declare function stripOuterCodeFence(text: string): string;
12
14
  export type { ShortFictionLanguage } from "../prompts/short-fiction.js";
13
15
  export interface ShortFictionOutline {
14
16
  readonly storyTitle: string;
@@ -61,6 +63,7 @@ export interface ShortFictionDraftInput {
61
63
  readonly chapterCount: number;
62
64
  readonly charsPerChapter: number;
63
65
  readonly language?: ShortFictionLanguage;
66
+ readonly onBatchProgress?: (info: ShortFictionBatchProgress) => void;
64
67
  }
65
68
  export interface ShortFictionDraftReviewInput extends ShortFictionDraftInput {
66
69
  readonly draft: ShortFictionBatchDraft;
@@ -1 +1 @@
1
- {"version":3,"file":"short-fiction.d.ts","sourceRoot":"","sources":["../../src/agents/short-fiction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"short-fiction.d.ts","sourceRoot":"","sources":["../../src/agents/short-fiction.ts"],"names":[],"mappings":"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"}