@kienmatu/inkos-core 0.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.
Files changed (1104) hide show
  1. package/LICENSE +661 -0
  2. package/dist/agent/agent-session.d.ts +100 -0
  3. package/dist/agent/agent-session.d.ts.map +1 -0
  4. package/dist/agent/agent-session.js +1102 -0
  5. package/dist/agent/agent-session.js.map +1 -0
  6. package/dist/agent/agent-system-prompt.d.ts +12 -0
  7. package/dist/agent/agent-system-prompt.d.ts.map +1 -0
  8. package/dist/agent/agent-system-prompt.js +596 -0
  9. package/dist/agent/agent-system-prompt.js.map +1 -0
  10. package/dist/agent/agent-tools.d.ts +508 -0
  11. package/dist/agent/agent-tools.d.ts.map +1 -0
  12. package/dist/agent/agent-tools.js +3083 -0
  13. package/dist/agent/agent-tools.js.map +1 -0
  14. package/dist/agent/chapter-import-source.d.ts +16 -0
  15. package/dist/agent/chapter-import-source.d.ts.map +1 -0
  16. package/dist/agent/chapter-import-source.js +48 -0
  17. package/dist/agent/chapter-import-source.js.map +1 -0
  18. package/dist/agent/context-transform.d.ts +13 -0
  19. package/dist/agent/context-transform.d.ts.map +1 -0
  20. package/dist/agent/context-transform.js +183 -0
  21. package/dist/agent/context-transform.js.map +1 -0
  22. package/dist/agent/film-authoring-tools.d.ts +98 -0
  23. package/dist/agent/film-authoring-tools.d.ts.map +1 -0
  24. package/dist/agent/film-authoring-tools.js +405 -0
  25. package/dist/agent/film-authoring-tools.js.map +1 -0
  26. package/dist/agent/forecast-tools.d.ts +22 -0
  27. package/dist/agent/forecast-tools.d.ts.map +1 -0
  28. package/dist/agent/forecast-tools.js +153 -0
  29. package/dist/agent/forecast-tools.js.map +1 -0
  30. package/dist/agent/index.d.ts +8 -0
  31. package/dist/agent/index.d.ts.map +1 -0
  32. package/dist/agent/index.js +8 -0
  33. package/dist/agent/index.js.map +1 -0
  34. package/dist/agent/llm-stub.d.ts +19 -0
  35. package/dist/agent/llm-stub.d.ts.map +1 -0
  36. package/dist/agent/llm-stub.js +134 -0
  37. package/dist/agent/llm-stub.js.map +1 -0
  38. package/dist/agent/pi-stream.d.ts +8 -0
  39. package/dist/agent/pi-stream.d.ts.map +1 -0
  40. package/dist/agent/pi-stream.js +31 -0
  41. package/dist/agent/pi-stream.js.map +1 -0
  42. package/dist/agent/skill-tool.d.ts +42 -0
  43. package/dist/agent/skill-tool.d.ts.map +1 -0
  44. package/dist/agent/skill-tool.js +279 -0
  45. package/dist/agent/skill-tool.js.map +1 -0
  46. package/dist/agent/worker-agent.d.ts +24 -0
  47. package/dist/agent/worker-agent.d.ts.map +1 -0
  48. package/dist/agent/worker-agent.js +288 -0
  49. package/dist/agent/worker-agent.js.map +1 -0
  50. package/dist/agents/ai-tells.d.ts +26 -0
  51. package/dist/agents/ai-tells.d.ts.map +1 -0
  52. package/dist/agents/ai-tells.js +140 -0
  53. package/dist/agents/ai-tells.js.map +1 -0
  54. package/dist/agents/architect.d.ts +78 -0
  55. package/dist/agents/architect.d.ts.map +1 -0
  56. package/dist/agents/architect.js +1184 -0
  57. package/dist/agents/architect.js.map +1 -0
  58. package/dist/agents/base.d.ts +42 -0
  59. package/dist/agents/base.d.ts.map +1 -0
  60. package/dist/agents/base.js +123 -0
  61. package/dist/agents/base.js.map +1 -0
  62. package/dist/agents/chapter-analyzer.d.ts +30 -0
  63. package/dist/agents/chapter-analyzer.d.ts.map +1 -0
  64. package/dist/agents/chapter-analyzer.js +509 -0
  65. package/dist/agents/chapter-analyzer.js.map +1 -0
  66. package/dist/agents/composer.d.ts +67 -0
  67. package/dist/agents/composer.d.ts.map +1 -0
  68. package/dist/agents/composer.js +936 -0
  69. package/dist/agents/composer.js.map +1 -0
  70. package/dist/agents/consolidator.d.ts +39 -0
  71. package/dist/agents/consolidator.d.ts.map +1 -0
  72. package/dist/agents/consolidator.js +179 -0
  73. package/dist/agents/consolidator.js.map +1 -0
  74. package/dist/agents/continuity.d.ts +45 -0
  75. package/dist/agents/continuity.d.ts.map +1 -0
  76. package/dist/agents/continuity.js +722 -0
  77. package/dist/agents/continuity.js.map +1 -0
  78. package/dist/agents/detection-insights.d.ts +9 -0
  79. package/dist/agents/detection-insights.d.ts.map +1 -0
  80. package/dist/agents/detection-insights.js +54 -0
  81. package/dist/agents/detection-insights.js.map +1 -0
  82. package/dist/agents/detector.d.ts +17 -0
  83. package/dist/agents/detector.d.ts.map +1 -0
  84. package/dist/agents/detector.js +77 -0
  85. package/dist/agents/detector.js.map +1 -0
  86. package/dist/agents/en-prompt-sections.d.ts +4 -0
  87. package/dist/agents/en-prompt-sections.d.ts.map +1 -0
  88. package/dist/agents/en-prompt-sections.js +9 -0
  89. package/dist/agents/en-prompt-sections.js.map +1 -0
  90. package/dist/agents/fanfic-canon-importer.d.ts +16 -0
  91. package/dist/agents/fanfic-canon-importer.d.ts.map +1 -0
  92. package/dist/agents/fanfic-canon-importer.js +164 -0
  93. package/dist/agents/fanfic-canon-importer.js.map +1 -0
  94. package/dist/agents/fanfic-dimensions.d.ts +14 -0
  95. package/dist/agents/fanfic-dimensions.d.ts.map +1 -0
  96. package/dist/agents/fanfic-dimensions.js +63 -0
  97. package/dist/agents/fanfic-dimensions.js.map +1 -0
  98. package/dist/agents/fanfic-prompt-sections.d.ts +5 -0
  99. package/dist/agents/fanfic-prompt-sections.d.ts.map +1 -0
  100. package/dist/agents/fanfic-prompt-sections.js +85 -0
  101. package/dist/agents/fanfic-prompt-sections.js.map +1 -0
  102. package/dist/agents/foundation-reviewer.d.ts +34 -0
  103. package/dist/agents/foundation-reviewer.d.ts.map +1 -0
  104. package/dist/agents/foundation-reviewer.js +174 -0
  105. package/dist/agents/foundation-reviewer.js.map +1 -0
  106. package/dist/agents/observer-prompts.d.ts +10 -0
  107. package/dist/agents/observer-prompts.d.ts.map +1 -0
  108. package/dist/agents/observer-prompts.js +113 -0
  109. package/dist/agents/observer-prompts.js.map +1 -0
  110. package/dist/agents/planner-context.d.ts +53 -0
  111. package/dist/agents/planner-context.d.ts.map +1 -0
  112. package/dist/agents/planner-context.js +238 -0
  113. package/dist/agents/planner-context.js.map +1 -0
  114. package/dist/agents/planner-prompts.d.ts +45 -0
  115. package/dist/agents/planner-prompts.d.ts.map +1 -0
  116. package/dist/agents/planner-prompts.js +391 -0
  117. package/dist/agents/planner-prompts.js.map +1 -0
  118. package/dist/agents/planner.d.ts +90 -0
  119. package/dist/agents/planner.d.ts.map +1 -0
  120. package/dist/agents/planner.js +715 -0
  121. package/dist/agents/planner.js.map +1 -0
  122. package/dist/agents/polisher.d.ts +33 -0
  123. package/dist/agents/polisher.d.ts.map +1 -0
  124. package/dist/agents/polisher.js +122 -0
  125. package/dist/agents/polisher.js.map +1 -0
  126. package/dist/agents/post-write-validator.d.ts +35 -0
  127. package/dist/agents/post-write-validator.d.ts.map +1 -0
  128. package/dist/agents/post-write-validator.js +758 -0
  129. package/dist/agents/post-write-validator.js.map +1 -0
  130. package/dist/agents/radar-source.d.ts +38 -0
  131. package/dist/agents/radar-source.d.ts.map +1 -0
  132. package/dist/agents/radar-source.js +92 -0
  133. package/dist/agents/radar-source.js.map +1 -0
  134. package/dist/agents/radar.d.ts +24 -0
  135. package/dist/agents/radar.d.ts.map +1 -0
  136. package/dist/agents/radar.js +85 -0
  137. package/dist/agents/radar.js.map +1 -0
  138. package/dist/agents/researcher.d.ts +38 -0
  139. package/dist/agents/researcher.d.ts.map +1 -0
  140. package/dist/agents/researcher.js +164 -0
  141. package/dist/agents/researcher.js.map +1 -0
  142. package/dist/agents/reviser.d.ts +35 -0
  143. package/dist/agents/reviser.d.ts.map +1 -0
  144. package/dist/agents/reviser.js +496 -0
  145. package/dist/agents/reviser.js.map +1 -0
  146. package/dist/agents/rules-reader.d.ts +32 -0
  147. package/dist/agents/rules-reader.d.ts.map +1 -0
  148. package/dist/agents/rules-reader.js +129 -0
  149. package/dist/agents/rules-reader.js.map +1 -0
  150. package/dist/agents/script-storyboard.d.ts +66 -0
  151. package/dist/agents/script-storyboard.d.ts.map +1 -0
  152. package/dist/agents/script-storyboard.js +657 -0
  153. package/dist/agents/script-storyboard.js.map +1 -0
  154. package/dist/agents/sensitive-words.d.ts +24 -0
  155. package/dist/agents/sensitive-words.d.ts.map +1 -0
  156. package/dist/agents/sensitive-words.js +103 -0
  157. package/dist/agents/sensitive-words.js.map +1 -0
  158. package/dist/agents/settler-delta-parser.d.ts +7 -0
  159. package/dist/agents/settler-delta-parser.d.ts.map +1 -0
  160. package/dist/agents/settler-delta-parser.js +40 -0
  161. package/dist/agents/settler-delta-parser.js.map +1 -0
  162. package/dist/agents/settler-parser.d.ts +13 -0
  163. package/dist/agents/settler-parser.d.ts.map +1 -0
  164. package/dist/agents/settler-parser.js +20 -0
  165. package/dist/agents/settler-parser.js.map +1 -0
  166. package/dist/agents/settler-prompts.d.ts +22 -0
  167. package/dist/agents/settler-prompts.d.ts.map +1 -0
  168. package/dist/agents/settler-prompts.js +195 -0
  169. package/dist/agents/settler-prompts.js.map +1 -0
  170. package/dist/agents/short-fiction.d.ts +120 -0
  171. package/dist/agents/short-fiction.d.ts.map +1 -0
  172. package/dist/agents/short-fiction.js +353 -0
  173. package/dist/agents/short-fiction.js.map +1 -0
  174. package/dist/agents/state-validator.d.ts +33 -0
  175. package/dist/agents/state-validator.d.ts.map +1 -0
  176. package/dist/agents/state-validator.js +262 -0
  177. package/dist/agents/state-validator.js.map +1 -0
  178. package/dist/agents/style-analyzer.d.ts +11 -0
  179. package/dist/agents/style-analyzer.d.ts.map +1 -0
  180. package/dist/agents/style-analyzer.js +98 -0
  181. package/dist/agents/style-analyzer.js.map +1 -0
  182. package/dist/agents/writer-parser.d.ts +17 -0
  183. package/dist/agents/writer-parser.d.ts.map +1 -0
  184. package/dist/agents/writer-parser.js +131 -0
  185. package/dist/agents/writer-parser.js.map +1 -0
  186. package/dist/agents/writer-prompts.d.ts +12 -0
  187. package/dist/agents/writer-prompts.d.ts.map +1 -0
  188. package/dist/agents/writer-prompts.js +495 -0
  189. package/dist/agents/writer-prompts.js.map +1 -0
  190. package/dist/agents/writer.d.ts +102 -0
  191. package/dist/agents/writer.d.ts.map +1 -0
  192. package/dist/agents/writer.js +882 -0
  193. package/dist/agents/writer.js.map +1 -0
  194. package/dist/forecast/agent.d.ts +22 -0
  195. package/dist/forecast/agent.d.ts.map +1 -0
  196. package/dist/forecast/agent.js +48 -0
  197. package/dist/forecast/agent.js.map +1 -0
  198. package/dist/forecast/context-builder.d.ts +35 -0
  199. package/dist/forecast/context-builder.d.ts.map +1 -0
  200. package/dist/forecast/context-builder.js +214 -0
  201. package/dist/forecast/context-builder.js.map +1 -0
  202. package/dist/forecast/prompts.d.ts +12 -0
  203. package/dist/forecast/prompts.d.ts.map +1 -0
  204. package/dist/forecast/prompts.js +114 -0
  205. package/dist/forecast/prompts.js.map +1 -0
  206. package/dist/forecast/render.d.ts +9 -0
  207. package/dist/forecast/render.d.ts.map +1 -0
  208. package/dist/forecast/render.js +154 -0
  209. package/dist/forecast/render.js.map +1 -0
  210. package/dist/forecast/runner.d.ts +51 -0
  211. package/dist/forecast/runner.d.ts.map +1 -0
  212. package/dist/forecast/runner.js +115 -0
  213. package/dist/forecast/runner.js.map +1 -0
  214. package/dist/forecast/schema.d.ts +767 -0
  215. package/dist/forecast/schema.d.ts.map +1 -0
  216. package/dist/forecast/schema.js +115 -0
  217. package/dist/forecast/schema.js.map +1 -0
  218. package/dist/forecast/store.d.ts +32 -0
  219. package/dist/forecast/store.d.ts.map +1 -0
  220. package/dist/forecast/store.js +129 -0
  221. package/dist/forecast/store.js.map +1 -0
  222. package/dist/index.d.ts +160 -0
  223. package/dist/index.d.ts.map +1 -0
  224. package/dist/index.js +172 -0
  225. package/dist/index.js.map +1 -0
  226. package/dist/interaction/action-envelope.d.ts +1493 -0
  227. package/dist/interaction/action-envelope.d.ts.map +1 -0
  228. package/dist/interaction/action-envelope.js +257 -0
  229. package/dist/interaction/action-envelope.js.map +1 -0
  230. package/dist/interaction/book-session-store.d.ts +29 -0
  231. package/dist/interaction/book-session-store.d.ts.map +1 -0
  232. package/dist/interaction/book-session-store.js +185 -0
  233. package/dist/interaction/book-session-store.js.map +1 -0
  234. package/dist/interaction/draft-directive-parser.d.ts +38 -0
  235. package/dist/interaction/draft-directive-parser.d.ts.map +1 -0
  236. package/dist/interaction/draft-directive-parser.js +208 -0
  237. package/dist/interaction/draft-directive-parser.js.map +1 -0
  238. package/dist/interaction/edit-controller.d.ts +62 -0
  239. package/dist/interaction/edit-controller.d.ts.map +1 -0
  240. package/dist/interaction/edit-controller.js +381 -0
  241. package/dist/interaction/edit-controller.js.map +1 -0
  242. package/dist/interaction/events.d.ts +45 -0
  243. package/dist/interaction/events.d.ts.map +1 -0
  244. package/dist/interaction/events.js +32 -0
  245. package/dist/interaction/events.js.map +1 -0
  246. package/dist/interaction/export-artifact.d.ts +32 -0
  247. package/dist/interaction/export-artifact.d.ts.map +1 -0
  248. package/dist/interaction/export-artifact.js +103 -0
  249. package/dist/interaction/export-artifact.js.map +1 -0
  250. package/dist/interaction/intents.d.ts +99 -0
  251. package/dist/interaction/intents.d.ts.map +1 -0
  252. package/dist/interaction/intents.js +59 -0
  253. package/dist/interaction/intents.js.map +1 -0
  254. package/dist/interaction/modes.d.ts +5 -0
  255. package/dist/interaction/modes.d.ts.map +1 -0
  256. package/dist/interaction/modes.js +7 -0
  257. package/dist/interaction/modes.js.map +1 -0
  258. package/dist/interaction/project-control.d.ts +45 -0
  259. package/dist/interaction/project-control.d.ts.map +1 -0
  260. package/dist/interaction/project-control.js +71 -0
  261. package/dist/interaction/project-control.js.map +1 -0
  262. package/dist/interaction/project-session-store.d.ts +9 -0
  263. package/dist/interaction/project-session-store.d.ts.map +1 -0
  264. package/dist/interaction/project-session-store.js +64 -0
  265. package/dist/interaction/project-session-store.js.map +1 -0
  266. package/dist/interaction/project-tools.d.ts +23 -0
  267. package/dist/interaction/project-tools.d.ts.map +1 -0
  268. package/dist/interaction/project-tools.js +408 -0
  269. package/dist/interaction/project-tools.js.map +1 -0
  270. package/dist/interaction/request-router.d.ts +3 -0
  271. package/dist/interaction/request-router.d.ts.map +1 -0
  272. package/dist/interaction/request-router.js +5 -0
  273. package/dist/interaction/request-router.js.map +1 -0
  274. package/dist/interaction/runtime.d.ts +54 -0
  275. package/dist/interaction/runtime.d.ts.map +1 -0
  276. package/dist/interaction/runtime.js +919 -0
  277. package/dist/interaction/runtime.js.map +1 -0
  278. package/dist/interaction/session-transcript-legacy.d.ts +4 -0
  279. package/dist/interaction/session-transcript-legacy.d.ts.map +1 -0
  280. package/dist/interaction/session-transcript-legacy.js +102 -0
  281. package/dist/interaction/session-transcript-legacy.js.map +1 -0
  282. package/dist/interaction/session-transcript-restore.d.ts +18 -0
  283. package/dist/interaction/session-transcript-restore.d.ts.map +1 -0
  284. package/dist/interaction/session-transcript-restore.js +746 -0
  285. package/dist/interaction/session-transcript-restore.js.map +1 -0
  286. package/dist/interaction/session-transcript-schema.d.ts +435 -0
  287. package/dist/interaction/session-transcript-schema.d.ts.map +1 -0
  288. package/dist/interaction/session-transcript-schema.js +65 -0
  289. package/dist/interaction/session-transcript-schema.js.map +1 -0
  290. package/dist/interaction/session-transcript.d.ts +21 -0
  291. package/dist/interaction/session-transcript.d.ts.map +1 -0
  292. package/dist/interaction/session-transcript.js +164 -0
  293. package/dist/interaction/session-transcript.js.map +1 -0
  294. package/dist/interaction/session.d.ts +1194 -0
  295. package/dist/interaction/session.d.ts.map +1 -0
  296. package/dist/interaction/session.js +194 -0
  297. package/dist/interaction/session.js.map +1 -0
  298. package/dist/interaction/truth-authority.d.ts +4 -0
  299. package/dist/interaction/truth-authority.d.ts.map +1 -0
  300. package/dist/interaction/truth-authority.js +37 -0
  301. package/dist/interaction/truth-authority.js.map +1 -0
  302. package/dist/interactive-film/authoring-store.d.ts +35 -0
  303. package/dist/interactive-film/authoring-store.d.ts.map +1 -0
  304. package/dist/interactive-film/authoring-store.js +114 -0
  305. package/dist/interactive-film/authoring-store.js.map +1 -0
  306. package/dist/interactive-film/authoring-tools.d.ts +9 -0
  307. package/dist/interactive-film/authoring-tools.d.ts.map +1 -0
  308. package/dist/interactive-film/authoring-tools.js +19 -0
  309. package/dist/interactive-film/authoring-tools.js.map +1 -0
  310. package/dist/interactive-film/delta.d.ts +591 -0
  311. package/dist/interactive-film/delta.d.ts.map +1 -0
  312. package/dist/interactive-film/delta.js +54 -0
  313. package/dist/interactive-film/delta.js.map +1 -0
  314. package/dist/interactive-film/emotion.d.ts +20 -0
  315. package/dist/interactive-film/emotion.d.ts.map +1 -0
  316. package/dist/interactive-film/emotion.js +57 -0
  317. package/dist/interactive-film/emotion.js.map +1 -0
  318. package/dist/interactive-film/evaluator.d.ts +7 -0
  319. package/dist/interactive-film/evaluator.d.ts.map +1 -0
  320. package/dist/interactive-film/evaluator.js +40 -0
  321. package/dist/interactive-film/evaluator.js.map +1 -0
  322. package/dist/interactive-film/export-html.d.ts +6 -0
  323. package/dist/interactive-film/export-html.d.ts.map +1 -0
  324. package/dist/interactive-film/export-html.js +84 -0
  325. package/dist/interactive-film/export-html.js.map +1 -0
  326. package/dist/interactive-film/export-ink.d.ts +3 -0
  327. package/dist/interactive-film/export-ink.d.ts.map +1 -0
  328. package/dist/interactive-film/export-ink.js +51 -0
  329. package/dist/interactive-film/export-ink.js.map +1 -0
  330. package/dist/interactive-film/film-context.d.ts +4 -0
  331. package/dist/interactive-film/film-context.d.ts.map +1 -0
  332. package/dist/interactive-film/film-context.js +30 -0
  333. package/dist/interactive-film/film-context.js.map +1 -0
  334. package/dist/interactive-film/generate.d.ts +15 -0
  335. package/dist/interactive-film/generate.d.ts.map +1 -0
  336. package/dist/interactive-film/generate.js +51 -0
  337. package/dist/interactive-film/generate.js.map +1 -0
  338. package/dist/interactive-film/graph-schema.d.ts +819 -0
  339. package/dist/interactive-film/graph-schema.d.ts.map +1 -0
  340. package/dist/interactive-film/graph-schema.js +84 -0
  341. package/dist/interactive-film/graph-schema.js.map +1 -0
  342. package/dist/interactive-film/graph-store.d.ts +5 -0
  343. package/dist/interactive-film/graph-store.d.ts.map +1 -0
  344. package/dist/interactive-film/graph-store.js +24 -0
  345. package/dist/interactive-film/graph-store.js.map +1 -0
  346. package/dist/interactive-film/memory-link.d.ts +9 -0
  347. package/dist/interactive-film/memory-link.d.ts.map +1 -0
  348. package/dist/interactive-film/memory-link.js +15 -0
  349. package/dist/interactive-film/memory-link.js.map +1 -0
  350. package/dist/interactive-film/node-image.d.ts +29 -0
  351. package/dist/interactive-film/node-image.d.ts.map +1 -0
  352. package/dist/interactive-film/node-image.js +52 -0
  353. package/dist/interactive-film/node-image.js.map +1 -0
  354. package/dist/interactive-film/paths.d.ts +14 -0
  355. package/dist/interactive-film/paths.d.ts.map +1 -0
  356. package/dist/interactive-film/paths.js +60 -0
  357. package/dist/interactive-film/paths.js.map +1 -0
  358. package/dist/interactive-film/tool-schemas.d.ts +182 -0
  359. package/dist/interactive-film/tool-schemas.d.ts.map +1 -0
  360. package/dist/interactive-film/tool-schemas.js +125 -0
  361. package/dist/interactive-film/tool-schemas.js.map +1 -0
  362. package/dist/interactive-film/validation.d.ts +14 -0
  363. package/dist/interactive-film/validation.d.ts.map +1 -0
  364. package/dist/interactive-film/validation.js +292 -0
  365. package/dist/interactive-film/validation.js.map +1 -0
  366. package/dist/llm/agent-trajectory.d.ts +27 -0
  367. package/dist/llm/agent-trajectory.d.ts.map +1 -0
  368. package/dist/llm/agent-trajectory.js +74 -0
  369. package/dist/llm/agent-trajectory.js.map +1 -0
  370. package/dist/llm/config-migration.d.ts +5 -0
  371. package/dist/llm/config-migration.d.ts.map +1 -0
  372. package/dist/llm/config-migration.js +51 -0
  373. package/dist/llm/config-migration.js.map +1 -0
  374. package/dist/llm/cover-providers.d.ts +14 -0
  375. package/dist/llm/cover-providers.d.ts.map +1 -0
  376. package/dist/llm/cover-providers.js +51 -0
  377. package/dist/llm/cover-providers.js.map +1 -0
  378. package/dist/llm/long-form-completion.d.ts +16 -0
  379. package/dist/llm/long-form-completion.d.ts.map +1 -0
  380. package/dist/llm/long-form-completion.js +62 -0
  381. package/dist/llm/long-form-completion.js.map +1 -0
  382. package/dist/llm/provider.d.ts +110 -0
  383. package/dist/llm/provider.d.ts.map +1 -0
  384. package/dist/llm/provider.js +1405 -0
  385. package/dist/llm/provider.js.map +1 -0
  386. package/dist/llm/providers/endpoints/ai360.d.ts +10 -0
  387. package/dist/llm/providers/endpoints/ai360.d.ts.map +1 -0
  388. package/dist/llm/providers/endpoints/ai360.js +34 -0
  389. package/dist/llm/providers/endpoints/ai360.js.map +1 -0
  390. package/dist/llm/providers/endpoints/anthropic.d.ts +12 -0
  391. package/dist/llm/providers/endpoints/anthropic.d.ts.map +1 -0
  392. package/dist/llm/providers/endpoints/anthropic.js +72 -0
  393. package/dist/llm/providers/endpoints/anthropic.js.map +1 -0
  394. package/dist/llm/providers/endpoints/astronCodingPlan.d.ts +16 -0
  395. package/dist/llm/providers/endpoints/astronCodingPlan.d.ts.map +1 -0
  396. package/dist/llm/providers/endpoints/astronCodingPlan.js +16 -0
  397. package/dist/llm/providers/endpoints/astronCodingPlan.js.map +1 -0
  398. package/dist/llm/providers/endpoints/baichuan.d.ts +10 -0
  399. package/dist/llm/providers/endpoints/baichuan.d.ts.map +1 -0
  400. package/dist/llm/providers/endpoints/baichuan.js +20 -0
  401. package/dist/llm/providers/endpoints/baichuan.js.map +1 -0
  402. package/dist/llm/providers/endpoints/bailian.d.ts +25 -0
  403. package/dist/llm/providers/endpoints/bailian.d.ts.map +1 -0
  404. package/dist/llm/providers/endpoints/bailian.js +42 -0
  405. package/dist/llm/providers/endpoints/bailian.js.map +1 -0
  406. package/dist/llm/providers/endpoints/bailianCodingPlan.d.ts +10 -0
  407. package/dist/llm/providers/endpoints/bailianCodingPlan.d.ts.map +1 -0
  408. package/dist/llm/providers/endpoints/bailianCodingPlan.js +22 -0
  409. package/dist/llm/providers/endpoints/bailianCodingPlan.js.map +1 -0
  410. package/dist/llm/providers/endpoints/custom.d.ts +16 -0
  411. package/dist/llm/providers/endpoints/custom.d.ts.map +1 -0
  412. package/dist/llm/providers/endpoints/custom.js +15 -0
  413. package/dist/llm/providers/endpoints/custom.js.map +1 -0
  414. package/dist/llm/providers/endpoints/deepseek.d.ts +17 -0
  415. package/dist/llm/providers/endpoints/deepseek.d.ts.map +1 -0
  416. package/dist/llm/providers/endpoints/deepseek.js +20 -0
  417. package/dist/llm/providers/endpoints/deepseek.js.map +1 -0
  418. package/dist/llm/providers/endpoints/giteeai.d.ts +10 -0
  419. package/dist/llm/providers/endpoints/giteeai.d.ts.map +1 -0
  420. package/dist/llm/providers/endpoints/giteeai.js +33 -0
  421. package/dist/llm/providers/endpoints/giteeai.js.map +1 -0
  422. package/dist/llm/providers/endpoints/githubCopilot.d.ts +10 -0
  423. package/dist/llm/providers/endpoints/githubCopilot.d.ts.map +1 -0
  424. package/dist/llm/providers/endpoints/githubCopilot.js +35 -0
  425. package/dist/llm/providers/endpoints/githubCopilot.js.map +1 -0
  426. package/dist/llm/providers/endpoints/glmCodingPlan.d.ts +9 -0
  427. package/dist/llm/providers/endpoints/glmCodingPlan.d.ts.map +1 -0
  428. package/dist/llm/providers/endpoints/glmCodingPlan.js +21 -0
  429. package/dist/llm/providers/endpoints/glmCodingPlan.js.map +1 -0
  430. package/dist/llm/providers/endpoints/google.d.ts +12 -0
  431. package/dist/llm/providers/endpoints/google.d.ts.map +1 -0
  432. package/dist/llm/providers/endpoints/google.js +41 -0
  433. package/dist/llm/providers/endpoints/google.js.map +1 -0
  434. package/dist/llm/providers/endpoints/hunyuan.d.ts +10 -0
  435. package/dist/llm/providers/endpoints/hunyuan.d.ts.map +1 -0
  436. package/dist/llm/providers/endpoints/hunyuan.js +34 -0
  437. package/dist/llm/providers/endpoints/hunyuan.js.map +1 -0
  438. package/dist/llm/providers/endpoints/infiniai.d.ts +10 -0
  439. package/dist/llm/providers/endpoints/infiniai.d.ts.map +1 -0
  440. package/dist/llm/providers/endpoints/infiniai.js +64 -0
  441. package/dist/llm/providers/endpoints/infiniai.js.map +1 -0
  442. package/dist/llm/providers/endpoints/internlm.d.ts +10 -0
  443. package/dist/llm/providers/endpoints/internlm.d.ts.map +1 -0
  444. package/dist/llm/providers/endpoints/internlm.js +20 -0
  445. package/dist/llm/providers/endpoints/internlm.js.map +1 -0
  446. package/dist/llm/providers/endpoints/kimiCode.d.ts +9 -0
  447. package/dist/llm/providers/endpoints/kimiCode.d.ts.map +1 -0
  448. package/dist/llm/providers/endpoints/kimiCode.js +16 -0
  449. package/dist/llm/providers/endpoints/kimiCode.js.map +1 -0
  450. package/dist/llm/providers/endpoints/kimiCodingPlan.d.ts +9 -0
  451. package/dist/llm/providers/endpoints/kimiCodingPlan.d.ts.map +1 -0
  452. package/dist/llm/providers/endpoints/kimiCodingPlan.js +17 -0
  453. package/dist/llm/providers/endpoints/kimiCodingPlan.js.map +1 -0
  454. package/dist/llm/providers/endpoints/kkaiapi.d.ts +14 -0
  455. package/dist/llm/providers/endpoints/kkaiapi.d.ts.map +1 -0
  456. package/dist/llm/providers/endpoints/kkaiapi.js +44 -0
  457. package/dist/llm/providers/endpoints/kkaiapi.js.map +1 -0
  458. package/dist/llm/providers/endpoints/lmstudio.d.ts +10 -0
  459. package/dist/llm/providers/endpoints/lmstudio.d.ts.map +1 -0
  460. package/dist/llm/providers/endpoints/lmstudio.js +15 -0
  461. package/dist/llm/providers/endpoints/lmstudio.js.map +1 -0
  462. package/dist/llm/providers/endpoints/longcat.d.ts +9 -0
  463. package/dist/llm/providers/endpoints/longcat.d.ts.map +1 -0
  464. package/dist/llm/providers/endpoints/longcat.js +18 -0
  465. package/dist/llm/providers/endpoints/longcat.js.map +1 -0
  466. package/dist/llm/providers/endpoints/minimax.d.ts +15 -0
  467. package/dist/llm/providers/endpoints/minimax.d.ts.map +1 -0
  468. package/dist/llm/providers/endpoints/minimax.js +27 -0
  469. package/dist/llm/providers/endpoints/minimax.js.map +1 -0
  470. package/dist/llm/providers/endpoints/minimaxCodingPlan.d.ts +9 -0
  471. package/dist/llm/providers/endpoints/minimaxCodingPlan.d.ts.map +1 -0
  472. package/dist/llm/providers/endpoints/minimaxCodingPlan.js +21 -0
  473. package/dist/llm/providers/endpoints/minimaxCodingPlan.js.map +1 -0
  474. package/dist/llm/providers/endpoints/mistral.d.ts +11 -0
  475. package/dist/llm/providers/endpoints/mistral.d.ts.map +1 -0
  476. package/dist/llm/providers/endpoints/mistral.js +31 -0
  477. package/dist/llm/providers/endpoints/mistral.js.map +1 -0
  478. package/dist/llm/providers/endpoints/modelscope.d.ts +10 -0
  479. package/dist/llm/providers/endpoints/modelscope.d.ts.map +1 -0
  480. package/dist/llm/providers/endpoints/modelscope.js +22 -0
  481. package/dist/llm/providers/endpoints/modelscope.js.map +1 -0
  482. package/dist/llm/providers/endpoints/moonshot.d.ts +12 -0
  483. package/dist/llm/providers/endpoints/moonshot.d.ts.map +1 -0
  484. package/dist/llm/providers/endpoints/moonshot.js +29 -0
  485. package/dist/llm/providers/endpoints/moonshot.js.map +1 -0
  486. package/dist/llm/providers/endpoints/newapi.d.ts +14 -0
  487. package/dist/llm/providers/endpoints/newapi.d.ts.map +1 -0
  488. package/dist/llm/providers/endpoints/newapi.js +14 -0
  489. package/dist/llm/providers/endpoints/newapi.js.map +1 -0
  490. package/dist/llm/providers/endpoints/ollama.d.ts +12 -0
  491. package/dist/llm/providers/endpoints/ollama.d.ts.map +1 -0
  492. package/dist/llm/providers/endpoints/ollama.js +63 -0
  493. package/dist/llm/providers/endpoints/ollama.js.map +1 -0
  494. package/dist/llm/providers/endpoints/openai.d.ts +12 -0
  495. package/dist/llm/providers/endpoints/openai.d.ts.map +1 -0
  496. package/dist/llm/providers/endpoints/openai.js +67 -0
  497. package/dist/llm/providers/endpoints/openai.js.map +1 -0
  498. package/dist/llm/providers/endpoints/opencodeCodingPlan.d.ts +9 -0
  499. package/dist/llm/providers/endpoints/opencodeCodingPlan.d.ts.map +1 -0
  500. package/dist/llm/providers/endpoints/opencodeCodingPlan.js +23 -0
  501. package/dist/llm/providers/endpoints/opencodeCodingPlan.js.map +1 -0
  502. package/dist/llm/providers/endpoints/openrouter.d.ts +15 -0
  503. package/dist/llm/providers/endpoints/openrouter.d.ts.map +1 -0
  504. package/dist/llm/providers/endpoints/openrouter.js +75 -0
  505. package/dist/llm/providers/endpoints/openrouter.js.map +1 -0
  506. package/dist/llm/providers/endpoints/ppio.d.ts +15 -0
  507. package/dist/llm/providers/endpoints/ppio.d.ts.map +1 -0
  508. package/dist/llm/providers/endpoints/ppio.js +73 -0
  509. package/dist/llm/providers/endpoints/ppio.js.map +1 -0
  510. package/dist/llm/providers/endpoints/qiniu.d.ts +10 -0
  511. package/dist/llm/providers/endpoints/qiniu.d.ts.map +1 -0
  512. package/dist/llm/providers/endpoints/qiniu.js +24 -0
  513. package/dist/llm/providers/endpoints/qiniu.js.map +1 -0
  514. package/dist/llm/providers/endpoints/sensenova.d.ts +10 -0
  515. package/dist/llm/providers/endpoints/sensenova.d.ts.map +1 -0
  516. package/dist/llm/providers/endpoints/sensenova.js +37 -0
  517. package/dist/llm/providers/endpoints/sensenova.js.map +1 -0
  518. package/dist/llm/providers/endpoints/siliconcloud.d.ts +14 -0
  519. package/dist/llm/providers/endpoints/siliconcloud.d.ts.map +1 -0
  520. package/dist/llm/providers/endpoints/siliconcloud.js +114 -0
  521. package/dist/llm/providers/endpoints/siliconcloud.js.map +1 -0
  522. package/dist/llm/providers/endpoints/spark.d.ts +14 -0
  523. package/dist/llm/providers/endpoints/spark.d.ts.map +1 -0
  524. package/dist/llm/providers/endpoints/spark.js +21 -0
  525. package/dist/llm/providers/endpoints/spark.js.map +1 -0
  526. package/dist/llm/providers/endpoints/stepfun.d.ts +10 -0
  527. package/dist/llm/providers/endpoints/stepfun.d.ts.map +1 -0
  528. package/dist/llm/providers/endpoints/stepfun.js +27 -0
  529. package/dist/llm/providers/endpoints/stepfun.js.map +1 -0
  530. package/dist/llm/providers/endpoints/tencentcloud.d.ts +10 -0
  531. package/dist/llm/providers/endpoints/tencentcloud.d.ts.map +1 -0
  532. package/dist/llm/providers/endpoints/tencentcloud.js +17 -0
  533. package/dist/llm/providers/endpoints/tencentcloud.js.map +1 -0
  534. package/dist/llm/providers/endpoints/volcengine.d.ts +10 -0
  535. package/dist/llm/providers/endpoints/volcengine.d.ts.map +1 -0
  536. package/dist/llm/providers/endpoints/volcengine.js +44 -0
  537. package/dist/llm/providers/endpoints/volcengine.js.map +1 -0
  538. package/dist/llm/providers/endpoints/volcengineCodingPlan.d.ts +19 -0
  539. package/dist/llm/providers/endpoints/volcengineCodingPlan.d.ts.map +1 -0
  540. package/dist/llm/providers/endpoints/volcengineCodingPlan.js +25 -0
  541. package/dist/llm/providers/endpoints/volcengineCodingPlan.js.map +1 -0
  542. package/dist/llm/providers/endpoints/wenxin.d.ts +10 -0
  543. package/dist/llm/providers/endpoints/wenxin.d.ts.map +1 -0
  544. package/dist/llm/providers/endpoints/wenxin.js +98 -0
  545. package/dist/llm/providers/endpoints/wenxin.js.map +1 -0
  546. package/dist/llm/providers/endpoints/xai.d.ts +11 -0
  547. package/dist/llm/providers/endpoints/xai.d.ts.map +1 -0
  548. package/dist/llm/providers/endpoints/xai.js +25 -0
  549. package/dist/llm/providers/endpoints/xai.js.map +1 -0
  550. package/dist/llm/providers/endpoints/xiaomimimo.d.ts +12 -0
  551. package/dist/llm/providers/endpoints/xiaomimimo.d.ts.map +1 -0
  552. package/dist/llm/providers/endpoints/xiaomimimo.js +16 -0
  553. package/dist/llm/providers/endpoints/xiaomimimo.js.map +1 -0
  554. package/dist/llm/providers/endpoints/zeroone.d.ts +10 -0
  555. package/dist/llm/providers/endpoints/zeroone.d.ts.map +1 -0
  556. package/dist/llm/providers/endpoints/zeroone.js +26 -0
  557. package/dist/llm/providers/endpoints/zeroone.js.map +1 -0
  558. package/dist/llm/providers/endpoints/zhipu.d.ts +12 -0
  559. package/dist/llm/providers/endpoints/zhipu.d.ts.map +1 -0
  560. package/dist/llm/providers/endpoints/zhipu.js +51 -0
  561. package/dist/llm/providers/endpoints/zhipu.js.map +1 -0
  562. package/dist/llm/providers/index.d.ts +5 -0
  563. package/dist/llm/providers/index.d.ts.map +1 -0
  564. package/dist/llm/providers/index.js +64 -0
  565. package/dist/llm/providers/index.js.map +1 -0
  566. package/dist/llm/providers/lookup.d.ts +16 -0
  567. package/dist/llm/providers/lookup.d.ts.map +1 -0
  568. package/dist/llm/providers/lookup.js +68 -0
  569. package/dist/llm/providers/lookup.js.map +1 -0
  570. package/dist/llm/providers/probe.d.ts +11 -0
  571. package/dist/llm/providers/probe.d.ts.map +1 -0
  572. package/dist/llm/providers/probe.js +24 -0
  573. package/dist/llm/providers/probe.js.map +1 -0
  574. package/dist/llm/providers/types.d.ts +71 -0
  575. package/dist/llm/providers/types.d.ts.map +1 -0
  576. package/dist/llm/providers/types.js +9 -0
  577. package/dist/llm/providers/types.js.map +1 -0
  578. package/dist/llm/providers/verify.d.ts +27 -0
  579. package/dist/llm/providers/verify.d.ts.map +1 -0
  580. package/dist/llm/providers/verify.js +77 -0
  581. package/dist/llm/providers/verify.js.map +1 -0
  582. package/dist/llm/secrets.d.ts +9 -0
  583. package/dist/llm/secrets.d.ts.map +1 -0
  584. package/dist/llm/secrets.js +56 -0
  585. package/dist/llm/secrets.js.map +1 -0
  586. package/dist/llm/service-presets.d.ts +45 -0
  587. package/dist/llm/service-presets.d.ts.map +1 -0
  588. package/dist/llm/service-presets.js +180 -0
  589. package/dist/llm/service-presets.js.map +1 -0
  590. package/dist/llm/service-resolver.d.ts +10 -0
  591. package/dist/llm/service-resolver.d.ts.map +1 -0
  592. package/dist/llm/service-resolver.js +62 -0
  593. package/dist/llm/service-resolver.js.map +1 -0
  594. package/dist/llm/think-tag-stripper.d.ts +15 -0
  595. package/dist/llm/think-tag-stripper.d.ts.map +1 -0
  596. package/dist/llm/think-tag-stripper.js +60 -0
  597. package/dist/llm/think-tag-stripper.js.map +1 -0
  598. package/dist/materials/ingest.d.ts +31 -0
  599. package/dist/materials/ingest.d.ts.map +1 -0
  600. package/dist/materials/ingest.js +224 -0
  601. package/dist/materials/ingest.js.map +1 -0
  602. package/dist/materials/retrieve.d.ts +20 -0
  603. package/dist/materials/retrieve.d.ts.map +1 -0
  604. package/dist/materials/retrieve.js +109 -0
  605. package/dist/materials/retrieve.js.map +1 -0
  606. package/dist/models/book-rules.d.ts +142 -0
  607. package/dist/models/book-rules.d.ts.map +1 -0
  608. package/dist/models/book-rules.js +286 -0
  609. package/dist/models/book-rules.js.map +1 -0
  610. package/dist/models/book.d.ts +94 -0
  611. package/dist/models/book.d.ts.map +1 -0
  612. package/dist/models/book.js +79 -0
  613. package/dist/models/book.js.map +1 -0
  614. package/dist/models/chapter.d.ts +131 -0
  615. package/dist/models/chapter.d.ts.map +1 -0
  616. package/dist/models/chapter.js +38 -0
  617. package/dist/models/chapter.js.map +1 -0
  618. package/dist/models/context-compression.d.ts +13 -0
  619. package/dist/models/context-compression.d.ts.map +1 -0
  620. package/dist/models/context-compression.js +2 -0
  621. package/dist/models/context-compression.js.map +1 -0
  622. package/dist/models/detection.d.ts +25 -0
  623. package/dist/models/detection.d.ts.map +1 -0
  624. package/dist/models/detection.js +2 -0
  625. package/dist/models/detection.js.map +1 -0
  626. package/dist/models/genre-profile.d.ts +45 -0
  627. package/dist/models/genre-profile.d.ts.map +1 -0
  628. package/dist/models/genre-profile.js +26 -0
  629. package/dist/models/genre-profile.js.map +1 -0
  630. package/dist/models/input-governance.d.ts +437 -0
  631. package/dist/models/input-governance.d.ts.map +1 -0
  632. package/dist/models/input-governance.js +104 -0
  633. package/dist/models/input-governance.js.map +1 -0
  634. package/dist/models/length-governance.d.ts +85 -0
  635. package/dist/models/length-governance.d.ts.map +1 -0
  636. package/dist/models/length-governance.js +31 -0
  637. package/dist/models/length-governance.js.map +1 -0
  638. package/dist/models/play.d.ts +530 -0
  639. package/dist/models/play.d.ts.map +1 -0
  640. package/dist/models/play.js +318 -0
  641. package/dist/models/play.js.map +1 -0
  642. package/dist/models/project.d.ts +797 -0
  643. package/dist/models/project.d.ts.map +1 -0
  644. package/dist/models/project.js +152 -0
  645. package/dist/models/project.js.map +1 -0
  646. package/dist/models/runtime-state.d.ts +708 -0
  647. package/dist/models/runtime-state.d.ts.map +1 -0
  648. package/dist/models/runtime-state.js +105 -0
  649. package/dist/models/runtime-state.js.map +1 -0
  650. package/dist/models/state.d.ts +48 -0
  651. package/dist/models/state.d.ts.map +1 -0
  652. package/dist/models/state.js +6 -0
  653. package/dist/models/state.js.map +1 -0
  654. package/dist/models/style-profile.d.ts +16 -0
  655. package/dist/models/style-profile.d.ts.map +1 -0
  656. package/dist/models/style-profile.js +2 -0
  657. package/dist/models/style-profile.js.map +1 -0
  658. package/dist/notify/dispatcher.d.ts +10 -0
  659. package/dist/notify/dispatcher.d.ts.map +1 -0
  660. package/dist/notify/dispatcher.js +67 -0
  661. package/dist/notify/dispatcher.js.map +1 -0
  662. package/dist/notify/feishu.d.ts +6 -0
  663. package/dist/notify/feishu.d.ts.map +1 -0
  664. package/dist/notify/feishu.js +32 -0
  665. package/dist/notify/feishu.js.map +1 -0
  666. package/dist/notify/format.d.ts +12 -0
  667. package/dist/notify/format.d.ts.map +1 -0
  668. package/dist/notify/format.js +11 -0
  669. package/dist/notify/format.js.map +1 -0
  670. package/dist/notify/telegram.d.ts +7 -0
  671. package/dist/notify/telegram.d.ts.map +1 -0
  672. package/dist/notify/telegram.js +18 -0
  673. package/dist/notify/telegram.js.map +1 -0
  674. package/dist/notify/webhook.d.ts +15 -0
  675. package/dist/notify/webhook.d.ts.map +1 -0
  676. package/dist/notify/webhook.js +28 -0
  677. package/dist/notify/webhook.js.map +1 -0
  678. package/dist/notify/wechat-work.d.ts +6 -0
  679. package/dist/notify/wechat-work.d.ts.map +1 -0
  680. package/dist/notify/wechat-work.js +15 -0
  681. package/dist/notify/wechat-work.js.map +1 -0
  682. package/dist/pipeline/chapter-persistence.d.ts +33 -0
  683. package/dist/pipeline/chapter-persistence.d.ts.map +1 -0
  684. package/dist/pipeline/chapter-persistence.js +39 -0
  685. package/dist/pipeline/chapter-persistence.js.map +1 -0
  686. package/dist/pipeline/chapter-review-cycle.d.ts +81 -0
  687. package/dist/pipeline/chapter-review-cycle.d.ts.map +1 -0
  688. package/dist/pipeline/chapter-review-cycle.js +190 -0
  689. package/dist/pipeline/chapter-review-cycle.js.map +1 -0
  690. package/dist/pipeline/chapter-state-recovery.d.ts +61 -0
  691. package/dist/pipeline/chapter-state-recovery.d.ts.map +1 -0
  692. package/dist/pipeline/chapter-state-recovery.js +135 -0
  693. package/dist/pipeline/chapter-state-recovery.js.map +1 -0
  694. package/dist/pipeline/chapter-truth-validation.d.ts +42 -0
  695. package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -0
  696. package/dist/pipeline/chapter-truth-validation.js +93 -0
  697. package/dist/pipeline/chapter-truth-validation.js.map +1 -0
  698. package/dist/pipeline/detection-runner.d.ts +31 -0
  699. package/dist/pipeline/detection-runner.d.ts.map +1 -0
  700. package/dist/pipeline/detection-runner.js +109 -0
  701. package/dist/pipeline/detection-runner.js.map +1 -0
  702. package/dist/pipeline/persisted-governed-plan.d.ts +5 -0
  703. package/dist/pipeline/persisted-governed-plan.d.ts.map +1 -0
  704. package/dist/pipeline/persisted-governed-plan.js +249 -0
  705. package/dist/pipeline/persisted-governed-plan.js.map +1 -0
  706. package/dist/pipeline/runner.d.ts +334 -0
  707. package/dist/pipeline/runner.d.ts.map +1 -0
  708. package/dist/pipeline/runner.js +2974 -0
  709. package/dist/pipeline/runner.js.map +1 -0
  710. package/dist/pipeline/scheduler.d.ts +58 -0
  711. package/dist/pipeline/scheduler.d.ts.map +1 -0
  712. package/dist/pipeline/scheduler.js +322 -0
  713. package/dist/pipeline/scheduler.js.map +1 -0
  714. package/dist/pipeline/script-storyboard-runner.d.ts +130 -0
  715. package/dist/pipeline/script-storyboard-runner.d.ts.map +1 -0
  716. package/dist/pipeline/script-storyboard-runner.js +532 -0
  717. package/dist/pipeline/script-storyboard-runner.js.map +1 -0
  718. package/dist/pipeline/short-fiction-runner.d.ts +110 -0
  719. package/dist/pipeline/short-fiction-runner.d.ts.map +1 -0
  720. package/dist/pipeline/short-fiction-runner.js +864 -0
  721. package/dist/pipeline/short-fiction-runner.js.map +1 -0
  722. package/dist/play/play-agents.d.ts +72 -0
  723. package/dist/play/play-agents.d.ts.map +1 -0
  724. package/dist/play/play-agents.js +580 -0
  725. package/dist/play/play-agents.js.map +1 -0
  726. package/dist/play/play-db-factory.d.ts +9 -0
  727. package/dist/play/play-db-factory.d.ts.map +1 -0
  728. package/dist/play/play-db-factory.js +18 -0
  729. package/dist/play/play-db-factory.js.map +1 -0
  730. package/dist/play/play-db.d.ts +22 -0
  731. package/dist/play/play-db.d.ts.map +1 -0
  732. package/dist/play/play-db.js +248 -0
  733. package/dist/play/play-db.js.map +1 -0
  734. package/dist/play/play-file-db.d.ts +32 -0
  735. package/dist/play/play-file-db.d.ts.map +1 -0
  736. package/dist/play/play-file-db.js +156 -0
  737. package/dist/play/play-file-db.js.map +1 -0
  738. package/dist/play/play-image.d.ts +58 -0
  739. package/dist/play/play-image.d.ts.map +1 -0
  740. package/dist/play/play-image.js +142 -0
  741. package/dist/play/play-image.js.map +1 -0
  742. package/dist/play/play-reducer.d.ts +31 -0
  743. package/dist/play/play-reducer.d.ts.map +1 -0
  744. package/dist/play/play-reducer.js +261 -0
  745. package/dist/play/play-reducer.js.map +1 -0
  746. package/dist/play/play-runner.d.ts +116 -0
  747. package/dist/play/play-runner.d.ts.map +1 -0
  748. package/dist/play/play-runner.js +582 -0
  749. package/dist/play/play-runner.js.map +1 -0
  750. package/dist/play/play-store.d.ts +113 -0
  751. package/dist/play/play-store.d.ts.map +1 -0
  752. package/dist/play/play-store.js +314 -0
  753. package/dist/play/play-store.js.map +1 -0
  754. package/dist/production/harness.d.ts +57 -0
  755. package/dist/production/harness.d.ts.map +1 -0
  756. package/dist/production/harness.js +51 -0
  757. package/dist/production/harness.js.map +1 -0
  758. package/dist/prompts/builtin-prompts.d.ts +10 -0
  759. package/dist/prompts/builtin-prompts.d.ts.map +1 -0
  760. package/dist/prompts/builtin-prompts.js +157 -0
  761. package/dist/prompts/builtin-prompts.js.map +1 -0
  762. package/dist/prompts/index.d.ts +5 -0
  763. package/dist/prompts/index.d.ts.map +1 -0
  764. package/dist/prompts/index.js +5 -0
  765. package/dist/prompts/index.js.map +1 -0
  766. package/dist/prompts/prompt-pack.d.ts +33 -0
  767. package/dist/prompts/prompt-pack.d.ts.map +1 -0
  768. package/dist/prompts/prompt-pack.js +82 -0
  769. package/dist/prompts/prompt-pack.js.map +1 -0
  770. package/dist/prompts/short-fiction.d.ts +58 -0
  771. package/dist/prompts/short-fiction.d.ts.map +1 -0
  772. package/dist/prompts/short-fiction.js +480 -0
  773. package/dist/prompts/short-fiction.js.map +1 -0
  774. package/dist/prompts/types.d.ts +22 -0
  775. package/dist/prompts/types.d.ts.map +1 -0
  776. package/dist/prompts/types.js +9 -0
  777. package/dist/prompts/types.js.map +1 -0
  778. package/dist/references/book-references.d.ts +40 -0
  779. package/dist/references/book-references.d.ts.map +1 -0
  780. package/dist/references/book-references.js +207 -0
  781. package/dist/references/book-references.js.map +1 -0
  782. package/dist/references/reference-context.d.ts +26 -0
  783. package/dist/references/reference-context.d.ts.map +1 -0
  784. package/dist/references/reference-context.js +120 -0
  785. package/dist/references/reference-context.js.map +1 -0
  786. package/dist/retrieval/local-search.d.ts +38 -0
  787. package/dist/retrieval/local-search.d.ts.map +1 -0
  788. package/dist/retrieval/local-search.js +232 -0
  789. package/dist/retrieval/local-search.js.map +1 -0
  790. package/dist/skills/builtin-loader.d.ts +9 -0
  791. package/dist/skills/builtin-loader.d.ts.map +1 -0
  792. package/dist/skills/builtin-loader.js +24 -0
  793. package/dist/skills/builtin-loader.js.map +1 -0
  794. package/dist/skills/external-loader.d.ts +26 -0
  795. package/dist/skills/external-loader.d.ts.map +1 -0
  796. package/dist/skills/external-loader.js +186 -0
  797. package/dist/skills/external-loader.js.map +1 -0
  798. package/dist/skills/index.d.ts +6 -0
  799. package/dist/skills/index.d.ts.map +1 -0
  800. package/dist/skills/index.js +6 -0
  801. package/dist/skills/index.js.map +1 -0
  802. package/dist/skills/production-bindings.d.ts +18 -0
  803. package/dist/skills/production-bindings.d.ts.map +1 -0
  804. package/dist/skills/production-bindings.js +37 -0
  805. package/dist/skills/production-bindings.js.map +1 -0
  806. package/dist/skills/registry.d.ts +6 -0
  807. package/dist/skills/registry.d.ts.map +1 -0
  808. package/dist/skills/registry.js +68 -0
  809. package/dist/skills/registry.js.map +1 -0
  810. package/dist/skills/types.d.ts +42 -0
  811. package/dist/skills/types.d.ts.map +1 -0
  812. package/dist/skills/types.js +10 -0
  813. package/dist/skills/types.js.map +1 -0
  814. package/dist/state/chapter-delete.d.ts +30 -0
  815. package/dist/state/chapter-delete.d.ts.map +1 -0
  816. package/dist/state/chapter-delete.js +78 -0
  817. package/dist/state/chapter-delete.js.map +1 -0
  818. package/dist/state/chapter-word-sync.d.ts +30 -0
  819. package/dist/state/chapter-word-sync.d.ts.map +1 -0
  820. package/dist/state/chapter-word-sync.js +62 -0
  821. package/dist/state/chapter-word-sync.js.map +1 -0
  822. package/dist/state/chapter-workspace.d.ts +15 -0
  823. package/dist/state/chapter-workspace.d.ts.map +1 -0
  824. package/dist/state/chapter-workspace.js +118 -0
  825. package/dist/state/chapter-workspace.js.map +1 -0
  826. package/dist/state/manager.d.ts +70 -0
  827. package/dist/state/manager.d.ts.map +1 -0
  828. package/dist/state/manager.js +727 -0
  829. package/dist/state/manager.js.map +1 -0
  830. package/dist/state/memory-db.d.ts +83 -0
  831. package/dist/state/memory-db.d.ts.map +1 -0
  832. package/dist/state/memory-db.js +249 -0
  833. package/dist/state/memory-db.js.map +1 -0
  834. package/dist/state/runtime-state-store.d.ts +38 -0
  835. package/dist/state/runtime-state-store.d.ts.map +1 -0
  836. package/dist/state/runtime-state-store.js +164 -0
  837. package/dist/state/runtime-state-store.js.map +1 -0
  838. package/dist/state/state-bootstrap.d.ts +21 -0
  839. package/dist/state/state-bootstrap.d.ts.map +1 -0
  840. package/dist/state/state-bootstrap.js +476 -0
  841. package/dist/state/state-bootstrap.js.map +1 -0
  842. package/dist/state/state-projections.d.ts +7 -0
  843. package/dist/state/state-projections.d.ts.map +1 -0
  844. package/dist/state/state-projections.js +209 -0
  845. package/dist/state/state-projections.js.map +1 -0
  846. package/dist/state/state-reducer.d.ts +13 -0
  847. package/dist/state/state-reducer.d.ts.map +1 -0
  848. package/dist/state/state-reducer.js +193 -0
  849. package/dist/state/state-reducer.js.map +1 -0
  850. package/dist/state/state-validator.d.ts +12 -0
  851. package/dist/state/state-validator.d.ts.map +1 -0
  852. package/dist/state/state-validator.js +67 -0
  853. package/dist/state/state-validator.js.map +1 -0
  854. package/dist/translation/epub.d.ts +10 -0
  855. package/dist/translation/epub.d.ts.map +1 -0
  856. package/dist/translation/epub.js +86 -0
  857. package/dist/translation/epub.js.map +1 -0
  858. package/dist/translation/export.d.ts +6 -0
  859. package/dist/translation/export.d.ts.map +1 -0
  860. package/dist/translation/export.js +68 -0
  861. package/dist/translation/export.js.map +1 -0
  862. package/dist/translation/index.d.ts +9 -0
  863. package/dist/translation/index.d.ts.map +1 -0
  864. package/dist/translation/index.js +9 -0
  865. package/dist/translation/index.js.map +1 -0
  866. package/dist/translation/llm-model.d.ts +11 -0
  867. package/dist/translation/llm-model.d.ts.map +1 -0
  868. package/dist/translation/llm-model.js +135 -0
  869. package/dist/translation/llm-model.js.map +1 -0
  870. package/dist/translation/project.d.ts +3 -0
  871. package/dist/translation/project.d.ts.map +1 -0
  872. package/dist/translation/project.js +76 -0
  873. package/dist/translation/project.js.map +1 -0
  874. package/dist/translation/run-store.d.ts +12 -0
  875. package/dist/translation/run-store.d.ts.map +1 -0
  876. package/dist/translation/run-store.js +69 -0
  877. package/dist/translation/run-store.js.map +1 -0
  878. package/dist/translation/runner.d.ts +6 -0
  879. package/dist/translation/runner.d.ts.map +1 -0
  880. package/dist/translation/runner.js +155 -0
  881. package/dist/translation/runner.js.map +1 -0
  882. package/dist/translation/source.d.ts +12 -0
  883. package/dist/translation/source.d.ts.map +1 -0
  884. package/dist/translation/source.js +66 -0
  885. package/dist/translation/source.js.map +1 -0
  886. package/dist/translation/text.d.ts +10 -0
  887. package/dist/translation/text.d.ts.map +1 -0
  888. package/dist/translation/text.js +110 -0
  889. package/dist/translation/text.js.map +1 -0
  890. package/dist/translation/types.d.ts +96 -0
  891. package/dist/translation/types.d.ts.map +1 -0
  892. package/dist/translation/types.js +2 -0
  893. package/dist/translation/types.js.map +1 -0
  894. package/dist/utils/analytics.d.ts +39 -0
  895. package/dist/utils/analytics.d.ts.map +1 -0
  896. package/dist/utils/analytics.js +50 -0
  897. package/dist/utils/analytics.js.map +1 -0
  898. package/dist/utils/atomic-file-set.d.ts +12 -0
  899. package/dist/utils/atomic-file-set.d.ts.map +1 -0
  900. package/dist/utils/atomic-file-set.js +93 -0
  901. package/dist/utils/atomic-file-set.js.map +1 -0
  902. package/dist/utils/book-eval.d.ts +35 -0
  903. package/dist/utils/book-eval.d.ts.map +1 -0
  904. package/dist/utils/book-eval.js +116 -0
  905. package/dist/utils/book-eval.js.map +1 -0
  906. package/dist/utils/book-id.d.ts +4 -0
  907. package/dist/utils/book-id.d.ts.map +1 -0
  908. package/dist/utils/book-id.js +27 -0
  909. package/dist/utils/book-id.js.map +1 -0
  910. package/dist/utils/cadence-policy.d.ts +36 -0
  911. package/dist/utils/cadence-policy.d.ts.map +1 -0
  912. package/dist/utils/cadence-policy.js +38 -0
  913. package/dist/utils/cadence-policy.js.map +1 -0
  914. package/dist/utils/chapter-cadence.d.ts +34 -0
  915. package/dist/utils/chapter-cadence.d.ts.map +1 -0
  916. package/dist/utils/chapter-cadence.js +143 -0
  917. package/dist/utils/chapter-cadence.js.map +1 -0
  918. package/dist/utils/chapter-memo-parser.d.ts +22 -0
  919. package/dist/utils/chapter-memo-parser.d.ts.map +1 -0
  920. package/dist/utils/chapter-memo-parser.js +158 -0
  921. package/dist/utils/chapter-memo-parser.js.map +1 -0
  922. package/dist/utils/chapter-splitter.d.ts +18 -0
  923. package/dist/utils/chapter-splitter.d.ts.map +1 -0
  924. package/dist/utils/chapter-splitter.js +60 -0
  925. package/dist/utils/chapter-splitter.js.map +1 -0
  926. package/dist/utils/config-loader.d.ts +11 -0
  927. package/dist/utils/config-loader.d.ts.map +1 -0
  928. package/dist/utils/config-loader.js +16 -0
  929. package/dist/utils/config-loader.js.map +1 -0
  930. package/dist/utils/context-assembly.d.ts +29 -0
  931. package/dist/utils/context-assembly.d.ts.map +1 -0
  932. package/dist/utils/context-assembly.js +117 -0
  933. package/dist/utils/context-assembly.js.map +1 -0
  934. package/dist/utils/context-filter.d.ts +31 -0
  935. package/dist/utils/context-filter.d.ts.map +1 -0
  936. package/dist/utils/context-filter.js +163 -0
  937. package/dist/utils/context-filter.js.map +1 -0
  938. package/dist/utils/effective-llm-config.d.ts +34 -0
  939. package/dist/utils/effective-llm-config.d.ts.map +1 -0
  940. package/dist/utils/effective-llm-config.js +463 -0
  941. package/dist/utils/effective-llm-config.js.map +1 -0
  942. package/dist/utils/governed-context.d.ts +11 -0
  943. package/dist/utils/governed-context.d.ts.map +1 -0
  944. package/dist/utils/governed-context.js +42 -0
  945. package/dist/utils/governed-context.js.map +1 -0
  946. package/dist/utils/governed-working-set.d.ts +18 -0
  947. package/dist/utils/governed-working-set.d.ts.map +1 -0
  948. package/dist/utils/governed-working-set.js +296 -0
  949. package/dist/utils/governed-working-set.js.map +1 -0
  950. package/dist/utils/hook-arbiter.d.ts +16 -0
  951. package/dist/utils/hook-arbiter.d.ts.map +1 -0
  952. package/dist/utils/hook-arbiter.js +161 -0
  953. package/dist/utils/hook-arbiter.js.map +1 -0
  954. package/dist/utils/hook-governance.d.ts +26 -0
  955. package/dist/utils/hook-governance.d.ts.map +1 -0
  956. package/dist/utils/hook-governance.js +65 -0
  957. package/dist/utils/hook-governance.js.map +1 -0
  958. package/dist/utils/hook-health.d.ts +15 -0
  959. package/dist/utils/hook-health.d.ts.map +1 -0
  960. package/dist/utils/hook-health.js +131 -0
  961. package/dist/utils/hook-health.js.map +1 -0
  962. package/dist/utils/hook-ledger-validator.d.ts +82 -0
  963. package/dist/utils/hook-ledger-validator.d.ts.map +1 -0
  964. package/dist/utils/hook-ledger-validator.js +225 -0
  965. package/dist/utils/hook-ledger-validator.js.map +1 -0
  966. package/dist/utils/hook-lifecycle.d.ts +41 -0
  967. package/dist/utils/hook-lifecycle.d.ts.map +1 -0
  968. package/dist/utils/hook-lifecycle.js +183 -0
  969. package/dist/utils/hook-lifecycle.js.map +1 -0
  970. package/dist/utils/hook-policy.d.ts +57 -0
  971. package/dist/utils/hook-policy.d.ts.map +1 -0
  972. package/dist/utils/hook-policy.js +96 -0
  973. package/dist/utils/hook-policy.js.map +1 -0
  974. package/dist/utils/hook-promotion.d.ts +83 -0
  975. package/dist/utils/hook-promotion.d.ts.map +1 -0
  976. package/dist/utils/hook-promotion.js +241 -0
  977. package/dist/utils/hook-promotion.js.map +1 -0
  978. package/dist/utils/hook-stale-detection.d.ts +51 -0
  979. package/dist/utils/hook-stale-detection.d.ts.map +1 -0
  980. package/dist/utils/hook-stale-detection.js +125 -0
  981. package/dist/utils/hook-stale-detection.js.map +1 -0
  982. package/dist/utils/language.d.ts +19 -0
  983. package/dist/utils/language.d.ts.map +1 -0
  984. package/dist/utils/language.js +29 -0
  985. package/dist/utils/language.js.map +1 -0
  986. package/dist/utils/length-metrics.d.ts +12 -0
  987. package/dist/utils/length-metrics.d.ts.map +1 -0
  988. package/dist/utils/length-metrics.js +85 -0
  989. package/dist/utils/length-metrics.js.map +1 -0
  990. package/dist/utils/llm-endpoint-auth.d.ts +5 -0
  991. package/dist/utils/llm-endpoint-auth.d.ts.map +1 -0
  992. package/dist/utils/llm-endpoint-auth.js +36 -0
  993. package/dist/utils/llm-endpoint-auth.js.map +1 -0
  994. package/dist/utils/llm-env.d.ts +14 -0
  995. package/dist/utils/llm-env.d.ts.map +1 -0
  996. package/dist/utils/llm-env.js +53 -0
  997. package/dist/utils/llm-env.js.map +1 -0
  998. package/dist/utils/logger.d.ts +31 -0
  999. package/dist/utils/logger.d.ts.map +1 -0
  1000. package/dist/utils/logger.js +79 -0
  1001. package/dist/utils/logger.js.map +1 -0
  1002. package/dist/utils/long-span-fatigue.d.ts +28 -0
  1003. package/dist/utils/long-span-fatigue.d.ts.map +1 -0
  1004. package/dist/utils/long-span-fatigue.js +406 -0
  1005. package/dist/utils/long-span-fatigue.js.map +1 -0
  1006. package/dist/utils/memory-retrieval.d.ts +71 -0
  1007. package/dist/utils/memory-retrieval.d.ts.map +1 -0
  1008. package/dist/utils/memory-retrieval.js +360 -0
  1009. package/dist/utils/memory-retrieval.js.map +1 -0
  1010. package/dist/utils/narrative-control.d.ts +16 -0
  1011. package/dist/utils/narrative-control.d.ts.map +1 -0
  1012. package/dist/utils/narrative-control.js +131 -0
  1013. package/dist/utils/narrative-control.js.map +1 -0
  1014. package/dist/utils/outline-paths.d.ts +63 -0
  1015. package/dist/utils/outline-paths.d.ts.map +1 -0
  1016. package/dist/utils/outline-paths.js +311 -0
  1017. package/dist/utils/outline-paths.js.map +1 -0
  1018. package/dist/utils/path-safety.d.ts +2 -0
  1019. package/dist/utils/path-safety.d.ts.map +1 -0
  1020. package/dist/utils/path-safety.js +11 -0
  1021. package/dist/utils/path-safety.js.map +1 -0
  1022. package/dist/utils/planning-materials.d.ts +35 -0
  1023. package/dist/utils/planning-materials.d.ts.map +1 -0
  1024. package/dist/utils/planning-materials.js +123 -0
  1025. package/dist/utils/planning-materials.js.map +1 -0
  1026. package/dist/utils/posix-path.d.ts +2 -0
  1027. package/dist/utils/posix-path.d.ts.map +1 -0
  1028. package/dist/utils/posix-path.js +7 -0
  1029. package/dist/utils/posix-path.js.map +1 -0
  1030. package/dist/utils/pov-filter.d.ts +30 -0
  1031. package/dist/utils/pov-filter.d.ts.map +1 -0
  1032. package/dist/utils/pov-filter.js +129 -0
  1033. package/dist/utils/pov-filter.js.map +1 -0
  1034. package/dist/utils/proxy-fetch.d.ts +9 -0
  1035. package/dist/utils/proxy-fetch.d.ts.map +1 -0
  1036. package/dist/utils/proxy-fetch.js +31 -0
  1037. package/dist/utils/proxy-fetch.js.map +1 -0
  1038. package/dist/utils/runtime-writer.d.ts +14 -0
  1039. package/dist/utils/runtime-writer.d.ts.map +1 -0
  1040. package/dist/utils/runtime-writer.js +21 -0
  1041. package/dist/utils/runtime-writer.js.map +1 -0
  1042. package/dist/utils/spot-fix-patches.d.ts +21 -0
  1043. package/dist/utils/spot-fix-patches.d.ts.map +1 -0
  1044. package/dist/utils/spot-fix-patches.js +148 -0
  1045. package/dist/utils/spot-fix-patches.js.map +1 -0
  1046. package/dist/utils/story-markdown.d.ts +13 -0
  1047. package/dist/utils/story-markdown.d.ts.map +1 -0
  1048. package/dist/utils/story-markdown.js +320 -0
  1049. package/dist/utils/story-markdown.js.map +1 -0
  1050. package/dist/utils/web-search.d.ts +28 -0
  1051. package/dist/utils/web-search.d.ts.map +1 -0
  1052. package/dist/utils/web-search.js +72 -0
  1053. package/dist/utils/web-search.js.map +1 -0
  1054. package/dist/utils/writing-methodology.d.ts +10 -0
  1055. package/dist/utils/writing-methodology.d.ts.map +1 -0
  1056. package/dist/utils/writing-methodology.js +163 -0
  1057. package/dist/utils/writing-methodology.js.map +1 -0
  1058. package/genres/cozy.md +43 -0
  1059. package/genres/cultivation.md +42 -0
  1060. package/genres/dungeon-core.md +40 -0
  1061. package/genres/horror.md +51 -0
  1062. package/genres/isekai.md +43 -0
  1063. package/genres/litrpg.md +43 -0
  1064. package/genres/other.md +24 -0
  1065. package/genres/progression.md +41 -0
  1066. package/genres/romantasy.md +45 -0
  1067. package/genres/sci-fi.md +42 -0
  1068. package/genres/system-apocalypse.md +40 -0
  1069. package/genres/tower-climber.md +41 -0
  1070. package/genres/urban.md +53 -0
  1071. package/genres/xianxia.md +46 -0
  1072. package/genres/xuanhuan.md +64 -0
  1073. package/package.json +76 -0
  1074. package/skills/inkos-interactive-film/SKILL.md +16 -0
  1075. package/skills/inkos-interactive-film/references/branch-state-craft.md +13 -0
  1076. package/skills/inkos-long-market-research/SKILL.md +16 -0
  1077. package/skills/inkos-long-market-research/references/research-rubric.md +19 -0
  1078. package/skills/inkos-long-story-analysis/SKILL.md +17 -0
  1079. package/skills/inkos-long-story-analysis/references/analysis-lens.md +16 -0
  1080. package/skills/inkos-long-writing/SKILL.md +17 -0
  1081. package/skills/inkos-long-writing/references/reader-contract-and-progression.md +13 -0
  1082. package/skills/inkos-long-writing/references/scene-dialogue-and-length-budget.md +13 -0
  1083. package/skills/inkos-play-world/SKILL.md +17 -0
  1084. package/skills/inkos-play-world/references/world-turn-continuity.md +13 -0
  1085. package/skills/inkos-script-writing/SKILL.md +15 -0
  1086. package/skills/inkos-script-writing/references/episode-scene-craft.md +13 -0
  1087. package/skills/inkos-short-market-research/SKILL.md +17 -0
  1088. package/skills/inkos-short-market-research/references/short-market-rubric.md +16 -0
  1089. package/skills/inkos-short-story-analysis/SKILL.md +16 -0
  1090. package/skills/inkos-short-story-analysis/references/deconstruction-template.md +14 -0
  1091. package/skills/inkos-short-writing/SKILL.md +18 -0
  1092. package/skills/inkos-short-writing/references/production-checklist.md +19 -0
  1093. package/skills/inkos-story-cover/SKILL.md +17 -0
  1094. package/skills/inkos-story-cover/references/cover-brief.md +16 -0
  1095. package/skills/inkos-story-deslop/SKILL.md +16 -0
  1096. package/skills/inkos-story-deslop/references/semantic-cleanup.md +13 -0
  1097. package/skills/inkos-story-import/SKILL.md +19 -0
  1098. package/skills/inkos-story-import/references/reconstruction-rubric.md +13 -0
  1099. package/skills/inkos-story-review/SKILL.md +16 -0
  1100. package/skills/inkos-story-review/references/review-matrix.md +21 -0
  1101. package/skills/inkos-storyboard/SKILL.md +15 -0
  1102. package/skills/inkos-storyboard/references/shot-continuity.md +13 -0
  1103. package/skills/inkos-translation/SKILL.md +14 -0
  1104. package/skills/inkos-translation/references/long-form-consistency.md +13 -0
@@ -0,0 +1,657 @@
1
+ import { BaseAgent } from "./base.js";
2
+ import { completeLongForm } from "../llm/long-form-completion.js";
3
+ class LongFormProductionAgent extends BaseAgent {
4
+ async recoverProductionMarkdown(fragments, language, requiredHeadings) {
5
+ const response = await this.chat([
6
+ {
7
+ role: "system",
8
+ content: language === "en"
9
+ ? [
10
+ "You recover one canonical production document after a transport-confirmed output-limit continuation.",
11
+ "The fragments may contain scratch analysis, overlapping suffixes, and complete-document restarts.",
12
+ "Return exactly one complete Markdown deliverable. Preserve the user's requirements and the most developed usable content; remove process notes, scratch analysis, wrappers, duplicate document roots, and repeated sections.",
13
+ "Do not summarize or shorten the actual deliverable.",
14
+ ].join("\n")
15
+ : [
16
+ "你负责在模型因输出上限续写后,恢复唯一一份规范生产文档。",
17
+ "输入片段可能包含思考草稿、重叠后缀和从头重写的完整文档。",
18
+ "返回且只返回一份完整 Markdown 交付稿。保留用户要求和完成度最高的可用内容;删除流程说明、思考草稿、包装文本、重复文档开头和重复小节。",
19
+ "不得概括或缩短实际交付内容。",
20
+ ].join("\n"),
21
+ },
22
+ {
23
+ role: "user",
24
+ content: [
25
+ language === "en" ? "## Required Headings" : "## 必需标题",
26
+ ...requiredHeadings.map((heading) => `- ${heading}`),
27
+ "",
28
+ language === "en" ? "## Output Fragments" : "## 输出片段",
29
+ fragments,
30
+ ].join("\n"),
31
+ },
32
+ ], {
33
+ temperature: 0.1,
34
+ maxTokens: 32_000,
35
+ });
36
+ return response.content.trim();
37
+ }
38
+ }
39
+ export class ScriptCreationAgent extends LongFormProductionAgent {
40
+ get name() {
41
+ return "script-creation-writer";
42
+ }
43
+ async writeScript(input) {
44
+ const language = input.language ?? "zh";
45
+ const messages = [
46
+ { role: "system", content: buildScriptCreationSystemPrompt(language) },
47
+ { role: "user", content: buildScriptCreationUserPrompt(input, language) },
48
+ ];
49
+ const response = await completeLongForm({
50
+ messages,
51
+ language,
52
+ generate: (continuationMessages) => this.chat(continuationMessages, {
53
+ temperature: 0.55,
54
+ maxTokens: estimateScriptMaxTokens(input),
55
+ }),
56
+ onContinuation: (pass) => this.log?.warn(`[script] Output limit reached; continuing pass ${pass}.`),
57
+ recoverAfterContinuation: (fragments) => this.recoverProductionMarkdown(fragments, language, language === "en" ? ["## Characters", "## Script"] : ["## 人物", "## 剧本正文"]),
58
+ });
59
+ return extractProductionDocument(response.content, input.title);
60
+ }
61
+ }
62
+ export class StoryboardCreationAgent extends LongFormProductionAgent {
63
+ get name() {
64
+ return "storyboard-creation-writer";
65
+ }
66
+ async writeStoryboard(input) {
67
+ const language = input.language ?? "zh";
68
+ const messages = [
69
+ { role: "system", content: buildStoryboardCreationSystemPrompt(language) },
70
+ { role: "user", content: buildStoryboardCreationUserPrompt(input, language) },
71
+ ];
72
+ const response = await completeLongForm({
73
+ messages,
74
+ language,
75
+ generate: (continuationMessages) => this.chat(continuationMessages, {
76
+ temperature: 0.45,
77
+ maxTokens: estimateStoryboardMaxTokens(input),
78
+ }),
79
+ onContinuation: (pass) => this.log?.warn(`[storyboard] Output limit reached; continuing pass ${pass}.`),
80
+ recoverAfterContinuation: (fragments) => this.recoverProductionMarkdown(fragments, language, language === "en" ? ["## Storyboard", "## Image Prompts"] : ["## 分镜表", "## 图像提示词"]),
81
+ });
82
+ return extractProductionDocument(response.content, input.title);
83
+ }
84
+ }
85
+ export class InteractiveFilmCreationAgent extends LongFormProductionAgent {
86
+ get name() {
87
+ return "interactive-film-creation-writer";
88
+ }
89
+ async writeInteractiveFilm(input) {
90
+ const language = input.language ?? "zh";
91
+ const messages = [
92
+ { role: "system", content: buildInteractiveFilmCreationSystemPrompt(language) },
93
+ { role: "user", content: buildInteractiveFilmCreationUserPrompt(input, language) },
94
+ ];
95
+ const response = await completeLongForm({
96
+ messages,
97
+ language,
98
+ generate: (continuationMessages) => this.chat(continuationMessages, {
99
+ temperature: 0.5,
100
+ maxTokens: estimateInteractiveFilmMaxTokens(input),
101
+ }),
102
+ onContinuation: (pass) => this.log?.warn(`[interactive-film] Output limit reached; continuing pass ${pass}.`),
103
+ recoverAfterContinuation: (fragments) => this.recoverProductionMarkdown(fragments, language, language === "en"
104
+ ? ["## Story Tree", "## Variables and Flags", "## Ending Paths", "## Interactive Script", "## Storyboard and Image Prompts"]
105
+ : ["## 剧情树", "## 变量与旗标表", "## 多结局路径", "## 互动剧本", "## 分镜与图像提示词"]),
106
+ });
107
+ return extractProductionDocument(response.content, input.title);
108
+ }
109
+ }
110
+ export function renderScriptSpec(input) {
111
+ if ((input.language ?? "zh") === "en") {
112
+ return [
113
+ `# ${input.title} Script Creation Spec`,
114
+ "",
115
+ "## Goal",
116
+ `- Deliverable: ${formatScriptTarget(input.targetFormat, "en")}`,
117
+ input.episodeCount
118
+ ? `- Episode/segment count: ${input.episodeCount}`
119
+ : "- Episode/segment count: unspecified; judge from the source material and user requirements",
120
+ input.episodeDuration
121
+ ? `- Per-episode/segment duration: ${input.episodeDuration}`
122
+ : "- Per-episode/segment duration: unspecified",
123
+ input.sourceKind
124
+ ? `- Source material: ${input.sourceKind}`
125
+ : "- Source material: user input / conversation brief",
126
+ "",
127
+ "## User Requirements",
128
+ input.requirements?.trim() || "Not separately specified; follow the instruction the user confirmed.",
129
+ "",
130
+ "## Adaptation Boundaries",
131
+ "- Preserve the characters, relationships, conflicts, key events, and taboos the user explicitly specified.",
132
+ "- Never decide adaptation intensity (\"faithful adaptation / commercial punch-up / low-budget shoot\") on the user's behalf; execute only the spec the user has confirmed.",
133
+ "",
134
+ "## Source Material Summary",
135
+ summarizeSourceForSpec(input.sourceText, "en"),
136
+ ].join("\n");
137
+ }
138
+ return [
139
+ `# ${input.title} 剧本创作规格`,
140
+ "",
141
+ "## 目标",
142
+ `- 交付类型:${formatScriptTarget(input.targetFormat)}`,
143
+ input.episodeCount ? `- 集数/段落数:${input.episodeCount}` : "- 集数/段落数:未指定,按素材和用户要求判断",
144
+ input.episodeDuration ? `- 单集/单段时长:${input.episodeDuration}` : "- 单集/单段时长:未指定",
145
+ input.sourceKind ? `- 原素材:${input.sourceKind}` : "- 原素材:用户输入/对话需求",
146
+ "",
147
+ "## 用户要求",
148
+ input.requirements?.trim() || "未单独指定;以用户确认时的 instruction 为准。",
149
+ "",
150
+ "## 改编边界",
151
+ "- 优先保留用户明确指定的人物、关系、冲突、关键事件和禁忌。",
152
+ "- 不替用户擅自决定“忠实改编 / 商业强化 / 低成本拍摄”等强度;只执行用户已确认的规格。",
153
+ "",
154
+ "## 源素材摘要",
155
+ summarizeSourceForSpec(input.sourceText),
156
+ ].join("\n");
157
+ }
158
+ export function renderStoryboardSpec(input) {
159
+ if ((input.language ?? "zh") === "en") {
160
+ return [
161
+ `# ${input.title} Storyboard Creation Spec`,
162
+ "",
163
+ "## Goal",
164
+ `- Shot granularity: ${input.granularity?.trim() || "split by scene and key shots"}`,
165
+ `- Aspect ratio: ${input.aspectRatio?.trim() || "unspecified; default to what the user's material and target imply"}`,
166
+ `- Visual style: ${input.visualStyle?.trim() || "unspecified; judge from the user's material and target platform"}`,
167
+ input.maxShots ? `- Shot cap: ${input.maxShots}` : "- Shot cap: unspecified",
168
+ input.sourceKind
169
+ ? `- Source material: ${input.sourceKind}`
170
+ : "- Source material: user input / conversation brief",
171
+ "",
172
+ "## User Requirements",
173
+ input.requirements?.trim() || "Not separately specified; follow the instruction the user confirmed.",
174
+ "",
175
+ "## Storyboard Boundaries",
176
+ "- A storyboard is a creative tool, not a locked-in shooting plan; the output must stay easy to discuss, extend, trim, and re-shoot.",
177
+ "- Follow only the art style, format, composition, and visual constraints the user has confirmed; never turn unstated preferences into default hard constraints.",
178
+ "",
179
+ "## Source Material Summary",
180
+ summarizeSourceForSpec(input.sourceText, "en"),
181
+ ].join("\n");
182
+ }
183
+ return [
184
+ `# ${input.title} 分镜创作规格`,
185
+ "",
186
+ "## 目标",
187
+ `- 分镜粒度:${input.granularity?.trim() || "按场景和关键镜头拆分"}`,
188
+ `- 画幅:${input.aspectRatio?.trim() || "未指定,默认按用户素材目标判断"}`,
189
+ `- 视觉风格:${input.visualStyle?.trim() || "未指定,按用户素材和目标平台判断"}`,
190
+ input.maxShots ? `- 镜头上限:${input.maxShots}` : "- 镜头上限:未指定",
191
+ input.sourceKind ? `- 原素材:${input.sourceKind}` : "- 原素材:用户输入/对话需求",
192
+ "",
193
+ "## 用户要求",
194
+ input.requirements?.trim() || "未单独指定;以用户确认时的 instruction 为准。",
195
+ "",
196
+ "## 分镜边界",
197
+ "- 分镜是创作工具,不替用户锁死最终拍法;输出要便于继续讨论、增删、改镜头。",
198
+ "- 只遵循用户已确认的画风、格式、构图和视觉限制;用户没说的,不写成默认硬限制。",
199
+ "",
200
+ "## 源素材摘要",
201
+ summarizeSourceForSpec(input.sourceText),
202
+ ].join("\n");
203
+ }
204
+ export function renderInteractiveFilmSpec(input) {
205
+ if ((input.language ?? "zh") === "en") {
206
+ return [
207
+ `# ${input.title} Interactive Film Creation Spec`,
208
+ "",
209
+ "## Goal",
210
+ "- Deliverable: interactive film / interactive narrative game / film-game script",
211
+ "- Scope: story tree, variables/flags, playable node scripts, multiple endings, storyboards, and image assets",
212
+ input.episodeCount
213
+ ? `- Story segments/episodes: ${input.episodeCount}`
214
+ : "- Story segments/episodes: unspecified; judge from the source material and user requirements",
215
+ input.episodeDuration
216
+ ? `- Per-segment/episode duration: ${input.episodeDuration}`
217
+ : "- Per-segment/episode duration: unspecified",
218
+ input.budget ? `- Budget constraint: ${input.budget}` : "- Budget constraint: unspecified",
219
+ input.targetAudience ? `- Target audience: ${input.targetAudience}` : "- Target audience: unspecified",
220
+ input.referenceMode
221
+ ? `- Reference mode: ${input.referenceMode}`
222
+ : "- Reference mode: unspecified by the user; do not impose a fixed game template",
223
+ input.sourceKind
224
+ ? `- Source material: ${input.sourceKind}`
225
+ : "- Source material: user input / conversation brief",
226
+ "",
227
+ "## User Requirements",
228
+ input.requirements?.trim() || "Not separately specified; follow the instruction the user confirmed.",
229
+ "",
230
+ "## Interactive Film Boundaries",
231
+ "- Do not impose RPG stats, combat formulas, equipment tiers, or any other mechanics the user did not request.",
232
+ "- Never decide subject matter, budget, art style, or commercial punch-up intensity on the user's behalf; mark anything unspecified as adjustable.",
233
+ "",
234
+ "## Source Material Summary",
235
+ summarizeSourceForSpec(input.sourceText, "en"),
236
+ ].join("\n");
237
+ }
238
+ return [
239
+ `# ${input.title} 互动影游创作规格`,
240
+ "",
241
+ "## 目标",
242
+ "- 交付类型:互动影游 / 互动叙事类游戏 / 影游剧本",
243
+ "- 交付范围:剧情树、变量/旗标、可玩节点剧本、多结局、分镜与图片资产",
244
+ input.episodeCount ? `- 剧情段落/集数:${input.episodeCount}` : "- 剧情段落/集数:未指定,按素材和用户要求判断",
245
+ input.episodeDuration ? `- 单段/单集时长:${input.episodeDuration}` : "- 单段/单集时长:未指定",
246
+ input.budget ? `- 预算约束:${input.budget}` : "- 预算约束:未指定",
247
+ input.targetAudience ? `- 目标受众:${input.targetAudience}` : "- 目标受众:未指定",
248
+ input.referenceMode ? `- 参考模式:${input.referenceMode}` : "- 参考模式:用户未指定,不擅自套固定游戏模板",
249
+ input.sourceKind ? `- 原素材:${input.sourceKind}` : "- 原素材:用户输入/对话需求",
250
+ "",
251
+ "## 用户要求",
252
+ input.requirements?.trim() || "未单独指定;以用户确认时的 instruction 为准。",
253
+ "",
254
+ "## 互动影游边界",
255
+ "- 不擅自加入用户没有要求的 RPG 数值、战斗公式、装备等级或其他玩法系统。",
256
+ "- 不替用户擅自决定题材、预算、画风和商业强化强度;未指定处写为可调整。",
257
+ "",
258
+ "## 源素材摘要",
259
+ summarizeSourceForSpec(input.sourceText),
260
+ ].join("\n");
261
+ }
262
+ export function extractStoryboardImagePrompts(raw) {
263
+ const section = extractMarkdownSection(raw, [
264
+ "图像提示词",
265
+ "分镜图提示词",
266
+ "Image Prompts",
267
+ "Shot Image Prompts",
268
+ ]);
269
+ const source = section?.trim() || raw.trim();
270
+ const prompts = extractPromptLines(source);
271
+ return prompts.length > 0 ? prompts.map((prompt, index) => `${index + 1}. ${prompt}`).join("\n") : "";
272
+ }
273
+ export function extractMarkdownSection(raw, headings) {
274
+ const lines = raw.split(/\r?\n/);
275
+ let start = -1;
276
+ let level = 0;
277
+ const normalizedHeadings = headings.map(normalizeHeadingText);
278
+ for (let index = 0; index < lines.length; index += 1) {
279
+ const match = /^(#{1,6})\s*(.+?)\s*$/u.exec(lines[index] ?? "");
280
+ if (!match)
281
+ continue;
282
+ const text = normalizeHeadingText(match[2]);
283
+ if (normalizedHeadings.some((heading) => headingMatches(text, heading))) {
284
+ start = index + 1;
285
+ level = match[1].length;
286
+ break;
287
+ }
288
+ }
289
+ if (start < 0)
290
+ return undefined;
291
+ let end = lines.length;
292
+ for (let index = start; index < lines.length; index += 1) {
293
+ const match = /^(#{1,6})\s+/u.exec(lines[index] ?? "");
294
+ if (match && match[1].length <= level) {
295
+ end = index;
296
+ break;
297
+ }
298
+ }
299
+ return lines.slice(start, end).join("\n");
300
+ }
301
+ export function countMarkdownSections(raw, headings) {
302
+ const normalizedHeadings = headings.map(normalizeHeadingText);
303
+ let count = 0;
304
+ for (const line of raw.split(/\r?\n/)) {
305
+ const match = /^(#{1,6})\s*(.+?)\s*$/u.exec(line);
306
+ if (!match)
307
+ continue;
308
+ const text = normalizeHeadingText(match[2]);
309
+ if (normalizedHeadings.some((heading) => headingMatches(text, heading)))
310
+ count += 1;
311
+ }
312
+ return count;
313
+ }
314
+ export function extractProductionDocument(raw, title) {
315
+ const lines = raw.split(/\r?\n/);
316
+ const normalizedTitle = normalizeHeadingText(title);
317
+ const start = lines.findIndex((line) => {
318
+ const match = /^#\s+(.+?)\s*$/u.exec(line);
319
+ if (!match)
320
+ return false;
321
+ return normalizeHeadingText(match[1]).startsWith(normalizedTitle);
322
+ });
323
+ return (start >= 0 ? lines.slice(start).join("\n") : raw).trim();
324
+ }
325
+ function normalizeHeadingText(text) {
326
+ return text
327
+ .trim()
328
+ .replace(/^\*\*(.+)\*\*$/u, "$1")
329
+ .replace(/[`*_]+/gu, "")
330
+ .replace(/\s+/gu, " ")
331
+ .toLowerCase();
332
+ }
333
+ function headingMatches(text, heading) {
334
+ if (text === heading)
335
+ return true;
336
+ if (!text.startsWith(heading))
337
+ return false;
338
+ const rest = text.slice(heading.length).trim();
339
+ return rest === "" || /^[((【\[\s::\-—]/u.test(rest);
340
+ }
341
+ export function normalizeScriptEpisodeEndLabels(script) {
342
+ const lines = script.split(/\r?\n/);
343
+ let currentEpisode = null;
344
+ return lines.map((line) => {
345
+ const heading = /^#{1,6}\s*第\s*([一二三四五六七八九十百千万\d]+)\s*集(?:\s|$)/u.exec(line.trim());
346
+ if (heading)
347
+ currentEpisode = heading[1];
348
+ if (!currentEpisode)
349
+ return line;
350
+ return line.replace(/(字幕\s*[::]\s*)第\s*[一二三四五六七八九十百千万\d]+\s*集完/gu, `$1第${currentEpisode}集完`);
351
+ }).join("\n");
352
+ }
353
+ function buildScriptCreationSystemPrompt(language = "zh") {
354
+ if (language === "en") {
355
+ return [
356
+ "You are a script-creation tool, not a novel-continuation engine.",
357
+ "This is a non-interactive production call after user confirmation. Execute the confirmed creation spec and source material now.",
358
+ "Never ask a question, offer options for the user to choose, or defer writing. Resolve unspecified creative details with a coherent working choice; they remain editable later.",
359
+ "The deliverable must include the exact Markdown headings `## Characters` and `## Script`, followed by a complete performable script rather than a proposal or outline.",
360
+ "Output Markdown. No process notes, no model self-narration, no \"Here is\" preamble.",
361
+ ].join("\n");
362
+ }
363
+ return [
364
+ "你是剧本创作工具,不是小说续写器。",
365
+ "这是用户确认后的非交互生产调用。现在执行已确认的创作规格和源素材。",
366
+ "不得提问、给用户列待选方案或推迟落笔。未指定的创意细节采用连贯的工作版本,后续仍可编辑。",
367
+ "交付稿必须包含准确的 Markdown 标题 `## 人物` 和 `## 剧本正文`,并在其后给出完整可排演剧本,不能只交方案或大纲。",
368
+ "输出 Markdown。不要写流程说明、模型自述或“以下是”。",
369
+ ].join("\n");
370
+ }
371
+ function buildScriptCreationUserPrompt(input, language = "zh") {
372
+ if (language === "en") {
373
+ return [
374
+ "## Creation Spec",
375
+ renderScriptSpec(input),
376
+ "",
377
+ "## Full Source Material",
378
+ input.sourceText?.trim()
379
+ || "The user did not provide full source material; write an extensible script draft strictly from the creation spec and user requirements.",
380
+ "",
381
+ "## Output Format",
382
+ `# ${input.title}`,
383
+ "",
384
+ "## Characters",
385
+ "",
386
+ "## Script",
387
+ "",
388
+ "Follow the target format. Vertical short drama: \"Episode N / scene slug / characters / action / dialogue / end-of-episode hook\". Standard screenplay: \"scene heading / action / character / dialogue\".",
389
+ ].join("\n");
390
+ }
391
+ return [
392
+ "## 创作规格",
393
+ renderScriptSpec(input),
394
+ "",
395
+ "## 完整源素材",
396
+ input.sourceText?.trim() || "用户没有提供完整源素材;请严格根据创作规格和用户要求写一个可继续扩展的剧本稿。",
397
+ "",
398
+ "## 输出格式",
399
+ `# ${input.title}`,
400
+ "",
401
+ "## 人物",
402
+ "",
403
+ "## 剧本正文",
404
+ "",
405
+ "按目标格式输出。竖屏短剧使用“第N集 / 场次 / 人物 / 动作 / 对白 / 集尾钩子”;标准剧本使用“场景标题 / 动作 / 角色 / 对白”。",
406
+ ].join("\n");
407
+ }
408
+ function buildStoryboardCreationSystemPrompt(language = "zh") {
409
+ if (language === "en") {
410
+ return [
411
+ "You are a storyboard-creation tool. Execute the confirmed visual spec and source material; unconfirmed choices remain adjustable.",
412
+ "Output Markdown. No model self-narration or process explanation.",
413
+ ].join("\n");
414
+ }
415
+ return [
416
+ "你是分镜创作工具。执行用户确认的视觉规格和源素材;未确认的选择保持可调整。",
417
+ "输出 Markdown。不要写模型自述或流程解释。",
418
+ ].join("\n");
419
+ }
420
+ function buildStoryboardCreationUserPrompt(input, language = "zh") {
421
+ const maxShots = input.maxShots ?? 24;
422
+ if (language === "en") {
423
+ return [
424
+ "## Storyboard Spec",
425
+ renderStoryboardSpec(input),
426
+ "",
427
+ "## Full Source Material",
428
+ input.sourceText?.trim()
429
+ || "The user did not provide full source material; write an extensible storyboard draft strictly from the storyboard spec and user requirements.",
430
+ ...(input.segment ? [
431
+ "",
432
+ "## Current Production Segment",
433
+ `Write only ${input.segment.label} (${input.segment.index + 1}/${input.segment.count}) in this call. The global shot cap is NOT the shot count for this call. Preserve all global requirements and follow the exact scene/segment shot count when the user confirmed one. Do not summarize or write any other segment.`,
434
+ ] : []),
435
+ "",
436
+ "## Output Format",
437
+ `# ${input.title} Storyboard`,
438
+ "",
439
+ "## Storyboard",
440
+ "",
441
+ `Output at most ${maxShots} shots. Each shot includes: shot number, visual, characters/objects, action, shot size/camera, dialogue/captions, suggested duration, notes.`,
442
+ "",
443
+ "## Image Prompts",
444
+ "",
445
+ "Write one generation-ready image prompt per shot. Each prompt MUST be its own `Prompt: ...` line; never merge it into the storyboard body, table headers, or explanations. Include only the visual constraints the user has confirmed.",
446
+ ].join("\n");
447
+ }
448
+ return [
449
+ "## 分镜规格",
450
+ renderStoryboardSpec(input),
451
+ "",
452
+ "## 完整源素材",
453
+ input.sourceText?.trim() || "用户没有提供完整源素材;请严格根据分镜规格和用户要求写一个可继续扩展的分镜稿。",
454
+ ...(input.segment ? [
455
+ "",
456
+ "## 当前生产分段",
457
+ `本次只写${input.segment.label}(${input.segment.index + 1}/${input.segment.count})。全局镜头上限不是本次镜头数。保留全部全局要求;用户已确认本场/本段镜头数时严格按该数量执行。不要概括或生成任何其他分段。`,
458
+ ] : []),
459
+ "",
460
+ "## 输出格式",
461
+ `# ${input.title} 分镜`,
462
+ "",
463
+ "## 分镜表",
464
+ "",
465
+ `输出不超过 ${maxShots} 个镜头。每个镜头包含:镜号、画面、人物/物件、动作、景别/机位、对白/字幕、时长建议、备注。`,
466
+ "",
467
+ "## 图像提示词",
468
+ "",
469
+ "为每个镜头写一条可用于生图的提示词。每条必须单独写成 `Prompt: ...`,不要混入分镜正文、表头或解释;只写用户确认过的视觉限制。",
470
+ ].join("\n");
471
+ }
472
+ function buildInteractiveFilmCreationSystemPrompt(language = "zh") {
473
+ if (language === "en") {
474
+ return [
475
+ "You are an interactive-film creation tool. Execute the confirmed spec and source material; unconfirmed choices remain adjustable.",
476
+ "Output must be Markdown with the specified sections. No model self-narration, process notes, or \"Here is\" preamble.",
477
+ "Every storyboard image prompt must be its own standalone `Prompt: ...` line so downstream asset management can pick it up; include only the visual constraints the user has confirmed.",
478
+ ].join("\n");
479
+ }
480
+ return [
481
+ "你是互动影游创作工具。执行用户确认的规格和源素材;未确认的选择保持可调整。",
482
+ "输出必须是 Markdown,包含指定小节。不要写模型自述、流程说明或“以下是”。",
483
+ "分镜图提示词必须写成单独的 `Prompt: ...` 行,便于后续资产管理;只写用户确认过的视觉限制。",
484
+ ].join("\n");
485
+ }
486
+ function buildInteractiveFilmCreationUserPrompt(input, language = "zh") {
487
+ if (language === "en") {
488
+ return [
489
+ "## Interactive Film Spec",
490
+ renderInteractiveFilmSpec(input),
491
+ "",
492
+ "## Full Source Material",
493
+ input.sourceText?.trim()
494
+ || "The user did not provide full source material; write an extensible interactive-film deliverable strictly from the creation spec and user requirements.",
495
+ "",
496
+ "## Output Format",
497
+ `# ${input.title} Interactive Film Package`,
498
+ "",
499
+ "## Story Tree",
500
+ "Lay out main-line nodes, branch nodes, key choices, and merge/no-return relationships as Markdown. The multi-ending structure must be visible at a glance.",
501
+ "",
502
+ "## Variables and Flags",
503
+ "List each variable/flag: name, meaning, trigger, scope of impact, and related nodes. Variables may be relationships, states, evidence, items, identities, secret/public status, ending gates, and so on.",
504
+ "",
505
+ "## Ending Paths",
506
+ "For every ending: its unlock conditions, the key choice chain, the required variables/flags, plus any failure or hidden-ending conditions.",
507
+ "",
508
+ "## Interactive Script",
509
+ "Write a playable script per node: scene, characters, action, dialogue, player choices, variable changes, and branch destinations. Never write summaries only.",
510
+ "",
511
+ "## Storyboard and Image Prompts",
512
+ "List the key shots. Each shot includes visual, characters/objects, action, shot size, and suggested duration. After each shot, add exactly one standalone `Prompt: ...` line.",
513
+ ].join("\n");
514
+ }
515
+ return [
516
+ "## 互动影游规格",
517
+ renderInteractiveFilmSpec(input),
518
+ "",
519
+ "## 完整源素材",
520
+ input.sourceText?.trim() || "用户没有提供完整源素材;请严格根据创作规格和用户要求写一个可继续扩展的互动影游交付稿。",
521
+ "",
522
+ "## 输出格式",
523
+ `# ${input.title} 互动影游方案`,
524
+ "",
525
+ "## 剧情树",
526
+ "用 Markdown 列出主线节点、分支节点、关键选择、回流/不可回流关系。必须能看出多结局结构。",
527
+ "",
528
+ "## 变量与旗标表",
529
+ "列出变量/旗标名、含义、触发方式、影响范围、对应节点。变量可以是关系、状态、证据、物品、身份、公开/隐瞒、结局门槛等。",
530
+ "",
531
+ "## 多结局路径",
532
+ "列出每个结局的达成条件、关键选择链、必需变量/旗标,以及失败或隐藏结局条件。",
533
+ "",
534
+ "## 互动剧本",
535
+ "按节点写可演剧本:场景、人物、动作、对白、玩家选择、变量变化和分支去向。不要只写摘要。",
536
+ "",
537
+ "## 分镜与图像提示词",
538
+ "列出关键镜头。每个镜头包含画面、人物/物件、动作、景别、时长建议。每个镜头后必须单独写一行 `Prompt: ...`。",
539
+ ].join("\n");
540
+ }
541
+ function formatScriptTarget(value, language = "zh") {
542
+ if (language === "en") {
543
+ switch (value) {
544
+ case "vertical_short_drama":
545
+ return "vertical short drama";
546
+ case "screenplay":
547
+ return "standard screenplay";
548
+ case "audio_drama":
549
+ return "audio drama";
550
+ case "interactive_script":
551
+ return "interactive script";
552
+ case "general_script":
553
+ default:
554
+ return "general script";
555
+ }
556
+ }
557
+ switch (value) {
558
+ case "vertical_short_drama":
559
+ return "竖屏短剧";
560
+ case "screenplay":
561
+ return "标准剧本";
562
+ case "audio_drama":
563
+ return "广播剧/有声剧";
564
+ case "interactive_script":
565
+ return "互动剧本";
566
+ case "general_script":
567
+ default:
568
+ return "通用剧本";
569
+ }
570
+ }
571
+ function summarizeSourceForSpec(sourceText, language = "zh") {
572
+ const text = sourceText?.replace(/\s+/g, " ").trim();
573
+ if (language === "en") {
574
+ if (!text)
575
+ return "No full source material provided.";
576
+ return `Full source material provided, about ${text.length} characters; the full content will be read during generation.`;
577
+ }
578
+ if (!text)
579
+ return "未提供完整源素材。";
580
+ return `已提供完整源素材,约 ${text.length} 字符;生成时会读取完整内容。`;
581
+ }
582
+ function estimateScriptMaxTokens(input) {
583
+ const episodes = input.episodeCount ?? 6;
584
+ return Math.min(32000, Math.max(12000, episodes * 2200));
585
+ }
586
+ function estimateStoryboardMaxTokens(input) {
587
+ const shots = input.segment?.estimatedShots ?? input.maxShots ?? 24;
588
+ // Each shot includes both an editable shot record and a standalone image
589
+ // prompt. The old 700-token estimate cut off complete 13-shot scenes.
590
+ return Math.min(48000, Math.max(12000, shots * 1800));
591
+ }
592
+ function estimateInteractiveFilmMaxTokens(input) {
593
+ const episodes = input.episodeCount ?? 6;
594
+ return Math.min(36000, Math.max(16000, episodes * 3000));
595
+ }
596
+ function extractPromptLines(markdown) {
597
+ const prompts = [];
598
+ let promptColumnIndex = -1;
599
+ for (const rawLine of markdown.split(/\r?\n/)) {
600
+ const line = rawLine
601
+ .trim()
602
+ .replace(/^`{1,3}\s*/u, "")
603
+ .replace(/\s*`{1,3}$/u, "")
604
+ .trim();
605
+ if (!line) {
606
+ promptColumnIndex = -1;
607
+ continue;
608
+ }
609
+ const tableCells = parseMarkdownTableRow(line);
610
+ if (tableCells) {
611
+ if (isMarkdownTableSeparator(tableCells))
612
+ continue;
613
+ const headerIndex = tableCells.findIndex(isPromptColumnHeader);
614
+ if (headerIndex >= 0) {
615
+ promptColumnIndex = headerIndex;
616
+ continue;
617
+ }
618
+ if (promptColumnIndex >= 0) {
619
+ const prompt = cleanPromptText(tableCells[promptColumnIndex] ?? "");
620
+ if (prompt)
621
+ prompts.push(prompt);
622
+ }
623
+ continue;
624
+ }
625
+ promptColumnIndex = -1;
626
+ const promptMatch = /(?:^|[|>\-\d.)、\s])(?:\*\*)?\s*(?:Prompt(?:\s+for\s+[^:*:]+)?|提示词(?:\s*[^:*:]+)?|图像提示词|分镜图提示词)\s*(?:\*\*)?\s*[::]\s*(.+?)\s*$/iu.exec(line);
627
+ if (!promptMatch)
628
+ continue;
629
+ const prompt = cleanPromptText(promptMatch[1]);
630
+ if (prompt)
631
+ prompts.push(prompt);
632
+ }
633
+ return prompts;
634
+ }
635
+ function parseMarkdownTableRow(line) {
636
+ if (!line.startsWith("|") || !line.endsWith("|"))
637
+ return undefined;
638
+ const cells = line.slice(1, -1).split("|").map((cell) => cell.trim());
639
+ return cells.length >= 2 ? cells : undefined;
640
+ }
641
+ function isMarkdownTableSeparator(cells) {
642
+ return cells.every((cell) => /^:?-{3,}:?$/u.test(cell));
643
+ }
644
+ function isPromptColumnHeader(cell) {
645
+ return /^(?:prompt|image\s*prompt|shot\s*prompt|提示词|图像提示词|分镜图提示词)$/iu.test(cell.replace(/[`*_]+/gu, "").trim());
646
+ }
647
+ function cleanPromptText(text) {
648
+ return text
649
+ .replace(/^`{1,3}\s*/u, "")
650
+ .replace(/\s*`{1,3}$/u, "")
651
+ .replace(/\s*\|\s*$/u, "")
652
+ .replace(/\*\*$/u, "")
653
+ .replace(/^(?:Prompt(?:\s+for\s+[^:*:]+)?|提示词(?:\s*[^:*:]+)?|图像提示词|分镜图提示词)\s*[::]\s*/iu, "")
654
+ .replace(/\s+/g, " ")
655
+ .trim();
656
+ }
657
+ //# sourceMappingURL=script-storyboard.js.map